Skip to main content

bc_xid/
name.rs

1use crate::{Error, Result};
2
3pub trait HasNickname {
4    fn nickname(&self) -> &str;
5
6    fn set_nickname(&mut self, name: impl Into<String>);
7
8    fn add_nickname(&mut self, name: &str) -> Result<()> {
9        if !self.nickname().is_empty() {
10            return Err(Error::Duplicate { item: "nickname".to_string() });
11        }
12        if name.is_empty() {
13            return Err(Error::EmptyValue { field: "nickname".to_string() });
14        }
15        self.set_nickname(name);
16
17        Ok(())
18    }
19}