isaac_sim 0.2.0

Rust interface for Isaac Sim
use thiserror::Error;

#[derive(Error, Debug)]
pub enum IsaacSimError {
    #[error(transparent)]
    OmniverseError(#[from] omniverse::OmniverseError),

    #[error(transparent)]
    OmniverseSysError(#[from] omniverse::OmniverseSysError),

    #[error(transparent)]
    BuilderUninitializedFieldError(#[from] derive_builder::UninitializedFieldError),

    #[error(transparent)]
    IoError(#[from] std::io::Error),

    #[error("Dependency error: {0}")]
    DependencyError(String),

    #[error("Type error: {0}")]
    TypeError(String),

    #[error("Value error: {0}")]
    ValueError(String),
}

impl From<semver::Error> for IsaacSimError {
    fn from(e: semver::Error) -> Self {
        IsaacSimError::DependencyError(e.to_string())
    }
}