-- This module deals with JIDs, also known as XMPP addresses. For more
-- information on JIDs, see RFC 6122: XMPP: Address Format.
moduleNetwork.Xmpp.JID
(JID(..)
moduleNetwork.Xmpp.Jid
(Jid(..)
,fromText
,fromStrings
,isBare
@ -23,7 +23,7 @@ import qualified Data.Text as Text
@@ -23,7 +23,7 @@ import qualified Data.Text as Text
importqualifiedText.NamePrepasSP
importqualifiedText.StringPrepasSP
dataJID=JID{-- | The @localpart@ of a JID is an optional identifier placed
dataJid=Jid{-- | The @localpart@ of a JID is an optional identifier placed
-- before the domainpart and separated from the latter by a
-- \'\@\' character. Typically a localpart uniquely identifies
-- the entity requesting and using network access provided by a
@ -56,21 +56,21 @@ data JID = JID { -- | The @localpart@ of a JID is an optional identifier placed
@@ -56,21 +56,21 @@ data JID = JID { -- | The @localpart@ of a JID is an optional identifier placed
,resourcepart::!(MaybeText)
}derivingEq
instanceShowJIDwhere
show(JIDnddmnres)=
instanceShowJidwhere
show(Jidnddmnres)=
maybe""((++"@").Text.unpack)nd++Text.unpackdmn++
maybe""(('/':).Text.unpack)res
instanceReadJIDwhere
instanceReadJidwhere
readsPrec_x=casefromText(Text.packx)of
Nothing->[]
Justj->[(j,"")]
instanceIsStringJIDwhere
instanceIsStringJidwhere
fromString=fromJust.fromText.Text.pack
-- | Converts a Text to a JID.
fromText::Text->MaybeJID
fromText::Text->MaybeJid
fromTextt=do
(l,d,r)<-eitherToMaybe$AP.parseOnlyjidPartst
fromStringsldr
@ -79,7 +79,7 @@ fromText t = do
@@ -79,7 +79,7 @@ fromText t = do
-- | Converts localpart, domainpart, and resourcepart strings to a JID. Runs the
-- appropriate stringprep profiles and validates the parts.
fromStrings::MaybeText->Text->MaybeText->MaybeJID
fromStrings::MaybeText->Text->MaybeText->MaybeJid
fromStringsldr=do
localPart<-caselof
Nothing->returnNothing
@ -97,7 +97,7 @@ fromStrings l d r = do
@@ -97,7 +97,7 @@ fromStrings l d r = do
r''<-SP.runStringPrepresourceprepProfiler'
guard$validPartLengthr''
return$Justr''
return$JIDlocalPartdomainPartresourcePart
return$JidlocalPartdomainPartresourcePart
where
validDomainPart::Text->Bool
validDomainPart_s=True-- TODO
@ -106,12 +106,12 @@ fromStrings l d r = do
@@ -106,12 +106,12 @@ fromStrings l d r = do