xcassets 0.1.0

Parse Xcode .xcassets catalogs into a typed Rust tree with diagnostics.
Documentation
use std::{io, path::PathBuf};

use thiserror::Error;

#[derive(Debug, Error)]
pub enum ParseError {
    #[error("catalog root does not exist: {path}")]
    MissingRoot { path: PathBuf },
    #[error("catalog root is not a directory: {path}")]
    RootNotDirectory { path: PathBuf },
    #[error("catalog root must be an .xcassets directory: {path}")]
    InvalidCatalogRoot { path: PathBuf },
    #[error("failed to read catalog root at {path}: {source}")]
    ReadRoot {
        path: PathBuf,
        #[source]
        source: io::Error,
    },
}