haste_fhir_serialization_json/
errors.rs1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum DeserializeError {
5 #[error("Missing required field: {0}")]
6 MissingRequiredField(String),
7 #[error("Failed to convert type '{0}'")]
8 FailedToConvertType(String),
9 #[error("Failed to parse JSON {0}")]
10 FailedToParseJSON(#[from] serde_json::Error),
11 #[error("Cannot deserialize as value a typechoice variant")]
12 CannotDeserializeTypeChoiceAsValue,
13 #[error("Unknown field encountered: {0}")]
14 UnknownField(String),
15 #[error("Invalid type encountered: {0}")]
16 InvalidType(String),
17 #[error("Duplicate type choice variant: {0}")]
18 DuplicateTypeChoiceVariant(String),
19 #[error("Invalid resource type: expected '{0}', found '{1}'")]
20 InvalidResourceType(String, String),
21 #[error("Invalid '{0}' found '{1}'")]
22 InvalidEnumVariant(String, String),
23 #[error("Invalid type choice variant: {0}")]
24 InvalidTypeChoiceVariant(String),
25 #[error("Cardinality violation: field '{0}' has invalid length.")]
26 CardinalityViolation(String),
27 #[error("Reference target validation failed: expected one of '{0:?}', found '{1}'")]
28 ReferenceTargetValidationFailed(Vec<String>, String),
29}