ipld_nostd/multibase/
error.rs

1use core::fmt;
2
3/// Type alias to use this library's [`Error`] type in a `Result`.
4pub type Result<T> = core::result::Result<T, Error>;
5
6/// Error types
7#[derive(PartialEq, Eq, Clone, Debug)]
8pub enum Error {
9	/// Unknown base code.
10	UnknownBase(char),
11	/// Invalid string.
12	InvalidBaseString,
13}
14
15impl fmt::Display for Error {
16	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
17		match self {
18			Error::UnknownBase(code) => write!(f, "Unknown base code: {}", code),
19			Error::InvalidBaseString => write!(f, "Invalid base string"),
20		}
21	}
22}
23
24impl From<base_x::DecodeError> for Error {
25	fn from(_: base_x::DecodeError) -> Self {
26		Self::InvalidBaseString
27	}
28}
29
30impl From<base256emoji::DecodeError> for Error {
31	fn from(_: base256emoji::DecodeError) -> Self {
32		Self::InvalidBaseString
33	}
34}
35
36impl From<data_encoding::DecodeError> for Error {
37	fn from(_: data_encoding::DecodeError) -> Self {
38		Self::InvalidBaseString
39	}
40}