File size: 1,983 Bytes
f14b4e9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | use std::fmt;
/// Errors that can occur when converting a parsed entity.
#[derive(Debug)]
pub enum EntityConversionError {
MissingEntityType,
MissingEntityId,
MissingFieldId,
InvalidFieldValue,
}
impl fmt::Display for EntityConversionError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
EntityConversionError::MissingEntityType => {
write!(f, "Entity is missing required type")
}
EntityConversionError::MissingEntityId => {
write!(f, "Entity is missing required id")
}
EntityConversionError::MissingFieldId => {
write!(f, "Entity field is missing required id")
}
EntityConversionError::InvalidFieldValue => {
write!(f, "Entity field contains an invalid value")
}
}
}
}
/// Errors that can occur when converting a parsed schema.
#[derive(Debug)]
pub enum SchemaConversionError {
MissingSchemaName,
MissingFieldName,
MissingFieldType,
UnknownFieldType(String),
InvalidFieldDefinition,
}
impl fmt::Display for SchemaConversionError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
SchemaConversionError::MissingSchemaName => {
write!(f, "Schema is missing required name")
}
SchemaConversionError::MissingFieldName => {
write!(f, "Schema field is missing required name")
}
SchemaConversionError::MissingFieldType => {
write!(f, "Schema field is missing required type")
}
SchemaConversionError::UnknownFieldType(field_type) => {
write!(f, "Unknown field type: '{}'", field_type)
}
SchemaConversionError::InvalidFieldDefinition => {
write!(f, "Schema field definition is invalid")
}
}
}
}
|