///|
pub struct CodingAgentId {
value : String
} derive(Eq, Hash, Debug)
///|
pub suberror IdError {
EmptyId(kind~ : String)
} derive(Debug)
///|
fn parse_id(value : String, kind : String) -> String raise IdError {
guard !value.is_empty() else { raise EmptyId(kind~) }
value
}
///|
pub fn CodingAgentId::CodingAgentId(
value : String,
) -> CodingAgentId raise IdError {
CodingAgentId::{ value: parse_id(value, "CodingAgentId") }
}
///|
pub fn CodingAgentId::to_string(self : CodingAgentId) -> String {
self.value
}