mid 5.0.1

Creating a Machine ID hash for MacOS/Windows/Linux/iOS
Documentation
use std::error::Error;
use std::fmt;

#[derive(Debug)]
pub enum MIDError {
    ExecuteProcessError(std::io::Error),
    ParseError(std::string::FromUtf8Error),
    ResultMidError,
    EmptyMidKey,
}

impl Error for MIDError {}

impl fmt::Display for MIDError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            MIDError::ExecuteProcessError(e) => {
                write!(f, "Failed to execute process: {e}")
            }
            MIDError::ParseError(e) => {
                write!(f, "Error converting output to UTF-8: {e}")
            }
            MIDError::ResultMidError => {
                write!(f, "Empty result machine ID")
            }
            MIDError::EmptyMidKey => {
                write!(f, "The key can't be empty")
            }
        }
    }
}