///|
/// Errors raised when converting between MARC records and the JSON interchange shape.
pub(all) suberror JsonConversionError {
InvalidJson(String)
MissingField(String)
WrongType(String)
InvalidValue(String)
InvalidLeader(String)
InvalidTag(String)
} derive(Eq, Debug)
///|
pub impl Show for JsonConversionError with fn output(self, logger) {
logger.write_string(self.to_string())
}
///|
pub fn JsonConversionError::to_string(self : JsonConversionError) -> String {
match self {
InvalidJson(message) => "invalid JSON: \{message}"
MissingField(field) => "missing JSON field: \{field}"
WrongType(field) => "wrong JSON type for field: \{field}"
InvalidValue(field) => "invalid JSON value for field: \{field}"
InvalidLeader(message) => "invalid MARC leader: \{message}"
InvalidTag(tag) => "invalid MARC tag: \{tag}"
}
}