text-icu-normalized-0.1.6: Dealing with Strict Text in NFC normalization.

Copyright©2016
LicenseGPL-3
MaintainerEvan Cofsky <evan@theunixman.com>
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Data.Text.ICU.Normalized.NFC

Description

This will perform the NFC pass on any Text to ensure it's in a Normalized form to prevent subtle text-based bugs.

Provides Ord and Eq based on uca. Also derives Generic and Typeable for other packages to use.

Synopsis

Documentation

data NFCText Source #

An NFC-normalized Data.Text

Instances

Eq NFCText Source #

If the Ord of the two texts is EQ, then they're equal.

Methods

(==) :: NFCText -> NFCText -> Bool #

(/=) :: NFCText -> NFCText -> Bool #

Data NFCText Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NFCText -> c NFCText #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NFCText #

toConstr :: NFCText -> Constr #

dataTypeOf :: NFCText -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c NFCText) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NFCText) #

gmapT :: (forall b. Data b => b -> b) -> NFCText -> NFCText #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NFCText -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NFCText -> r #

gmapQ :: (forall d. Data d => d -> u) -> NFCText -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NFCText -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NFCText -> m NFCText #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NFCText -> m NFCText #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NFCText -> m NFCText #

Ord NFCText Source #

Convert to FCD form, then compare the texts.

Read NFCText Source # 
Show NFCText Source # 
IsString NFCText Source # 

Methods

fromString :: String -> NFCText #

Generic NFCText Source # 

Associated Types

type Rep NFCText :: * -> * #

Methods

from :: NFCText -> Rep NFCText x #

to :: Rep NFCText x -> NFCText #

type Rep NFCText Source # 
type Rep NFCText = D1 (MetaData "NFCText" "Data.Text.ICU.Normalized.NFC" "text-icu-normalized-0.1.6-Kc1iDfgyRF8HXwXcbdN4lv" True) (C1 (MetaCons "NFCText" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

strict :: Prism' NFCText Text Source #

Prism between NFCText and strict Text

lazy :: Prism' NFCText Text Source #

Prism between NFCText and lazy Text

lower :: Getter NFCText NFCText Source #

Convert NFCText to lower case.

upper :: Getter NFCText NFCText Source #

Convert NFCText to upper case.

utf8 :: Prism' NFCText String Source #

Prism between NFCText and a utf-8 encoded String

utf8ByteString :: Prism' NFCText ByteString Source #

Prism between NFCText and a utf-8 encoded 'ByteString