use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("unsupported type: {type_name}")]
UnsupportedType { type_name: String },
#[error("invalid schema: {message}")]
InvalidSchema { message: String },
#[error("maximum depth exceeded")]
MaxDepthExceeded,
#[error("$ref not found: {reference}")]
RefNotFound { reference: String },
#[error("allOf failed: {message}")]
AllOfFailed { message: String },
#[error("conflicting constraints: {message}")]
ConflictingConstraints { message: String },
}