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}