#[cfg(any(feature = "std", feature = "alloc"))]
mod id;
#[cfg(any(feature = "std", feature = "alloc"))]
pub use id::*;
mod id_ref;
pub use id_ref::*;
#[derive(Debug, thiserror::Error)]
pub enum ParseNodeIdError {
#[error("id cannot be empty")]
Empty,
#[error("id is too large, maximum size is {maximum} bytes, but got {actual} bytes")]
TooLarge {
maximum: usize,
actual: usize,
},
#[error("insufficient buffer, required: {required}, remaining: {remaining}")]
InsufficientBuffer {
required: u64,
remaining: u64,
},
#[error(transparent)]
Utf8Error(#[from] core::str::Utf8Error),
}
impl ParseNodeIdError {
#[inline]
const fn too_large(maximum: usize, actual: usize) -> Self {
Self::TooLarge { maximum, actual }
}
}