use thiserror::Error;
#[derive(Error, Debug)]
pub enum IriError {
#[error("Failed to parse IRI '{iri}': {error}")]
ParseError { iri: String, error: String },
#[error("Failed to extend IRI '{base}' with segment '{segment}': {error}")]
ExtendError {
base: String,
segment: String,
error: String,
},
#[error("Failed to resolve '{relative}' against base '{base}': {error}")]
ResolveError {
base: String,
relative: String,
error: String,
},
#[error("Failed to join '{path}' to base '{base}': {error}")]
JoinError { base: String, path: String, error: String },
#[error("Failed to dereference IRI '{iri}': {error}")]
DereferenceError { iri: String, error: String },
#[error("Failed to convert path '{path}' to IRI: {error}")]
PathConversionError { path: String, error: String },
#[error("Operation '{operation}' is not supported in WASM environment")]
WasmNotSupported { operation: String },
}