#![doc = include_str!("../README.md")]
pub mod autofix;
pub mod cmd;
pub mod config;
pub mod dag;
pub mod grammar;
pub mod mock;
mod tests;
pub mod prelude {
pub use super::{
dag::{Dag, Path},
CrateId,
};
}
pub type CrateId = String;
pub mod log {
pub use crate::{debug, error, info, trace, warn};
}
#[macro_export]
macro_rules! info {
($($arg:tt)*) => {
#[cfg(feature = "logging")]
{
::log::info!($($arg)*);
}
};
}
#[macro_export]
macro_rules! warn {
($($arg:tt)*) => {
#[cfg(feature = "logging")]
{
::log::warn!($($arg)*);
}
};
}
#[macro_export]
macro_rules! error {
($($arg:tt)*) => {
#[cfg(feature = "logging")]
{
::log::error!($($arg)*);
}
};
}
#[macro_export]
macro_rules! debug {
($($arg:tt)*) => {
#[cfg(feature = "logging")]
{
::log::debug!($($arg)*);
}
};
}
#[macro_export]
macro_rules! trace {
($($arg:tt)*) => {
#[cfg(feature = "logging")]
{
::log::trace!($($arg)*);
}
};
}
pub(crate) trait ErrToStr<R> {
fn err_to_str(self) -> Result<R, String>;
}
impl<R, E: std::fmt::Display> ErrToStr<R> for Result<R, E> {
fn err_to_str(self) -> Result<R, String> {
self.map_err(|e| format!("{}", e))
}
}
use cargo_metadata::DependencyKind;
pub(crate) fn kind_to_str(kind: &DependencyKind) -> &'static str {
match kind {
DependencyKind::Development => "dev-dependencies",
DependencyKind::Build => "build-dependencies",
DependencyKind::Normal => "dependencies",
_ => unreachable!(),
}
}