Merge branch 'get__functions' into 'master'

Add get_ functions that return new truncated structs from the current one

See merge request !4
This commit is contained in:
lumi 2017-06-12 17:37:55 +00:00
commit ce664554d6

View file

@ -190,6 +190,29 @@ impl Jid {
}
}
/// Returns a new Jabber ID from the current one with only node and domain.
///
/// This is of the form `node`@`domain`.
///
/// # Examples
///
/// ```
/// use jid::Jid;
///
/// let jid = Jid::full("node", "domain", "resource").into_bare_jid();
///
/// assert_eq!(jid.node, Some("node".to_owned()));
/// assert_eq!(jid.domain, "domain".to_owned());
/// assert_eq!(jid.resource, None);
/// ```
pub fn into_bare_jid(self) -> Jid {
Jid {
node: self.node,
domain: self.domain,
resource: None,
}
}
/// Constructs a Jabber ID containing only a `domain`.
///
/// This is of the form `domain`.
@ -214,6 +237,29 @@ impl Jid {
}
}
/// Returns a new Jabber ID from the current one with only domain.
///
/// This is of the form `domain`.
///
/// # Examples
///
/// ```
/// use jid::Jid;
///
/// let jid = Jid::full("node", "domain", "resource").into_domain_jid();
///
/// assert_eq!(jid.node, None);
/// assert_eq!(jid.domain, "domain".to_owned());
/// assert_eq!(jid.resource, None);
/// ```
pub fn into_domain_jid(self) -> Jid {
Jid {
node: None,
domain: self.domain,
resource: None,
}
}
/// Constructs a Jabber ID containing the `domain` and `resource` components.
///
/// This is of the form `domain`/`resource`.