Add get_ functions that return new truncated structs from the current one
This commit is contained in:
parent
abaf16079c
commit
072cba6a3e
1 changed files with 44 additions and 0 deletions
44
src/lib.rs
44
src/lib.rs
|
@ -190,6 +190,28 @@ 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").get_bare();
|
||||
///
|
||||
/// assert_eq!(jid.node, Some("node".to_owned()));
|
||||
/// assert_eq!(jid.domain, "domain".to_owned());
|
||||
/// assert_eq!(jid.resource, None);
|
||||
pub fn get_bare(self) -> Jid {
|
||||
Jid {
|
||||
node: self.node.clone(),
|
||||
domain: self.domain.clone(),
|
||||
resource: None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Constructs a Jabber ID containing only a `domain`.
|
||||
///
|
||||
/// This is of the form `domain`.
|
||||
|
@ -214,6 +236,28 @@ 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").get_domain();
|
||||
///
|
||||
/// assert_eq!(jid.node, None);
|
||||
/// assert_eq!(jid.domain, "domain".to_owned());
|
||||
/// assert_eq!(jid.resource, None);
|
||||
pub fn get_domain(self) -> Jid {
|
||||
Jid {
|
||||
node: None,
|
||||
domain: self.domain.clone(),
|
||||
resource: None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Constructs a Jabber ID containing the `domain` and `resource` components.
|
||||
///
|
||||
/// This is of the form `domain`/`resource`.
|
||||
|
|
Loading…
Reference in a new issue