/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2026 Mike Robeson [dijksterhuis]
*/

use thiserror::Error;

/// Errors for the [`crate::projects`] module
#[derive(Debug, Error)]
pub enum ProjectsErrors {
    #[error("slot path is empty, no sample file exists for slot")]
    EmptySlotPath,
    #[error("project failed validation")]
    ValidationFailure,
    #[error("invalid file name")]
    InvalidFileName,
    #[error("attempting to register a non-path data source with a path")]
    DataSourcePathBuf,
    #[error("attempting to write a non-path data source with a path")]
    DataSourcePathBufWrite,
    #[error("attempting to register a data source without data")]
    NoDataSource,
    #[error("EmptyIndex")]
    EmptyIndex,
}
