forge-core 0.10.0

Core types and traits for the Forge framework
Documentation
//! Project metadata configuration.

use serde::{Deserialize, Serialize};

/// Project metadata.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ProjectConfig {
    #[serde(default = "default_project_name")]
    pub name: String,

    #[serde(default = "default_version")]
    pub version: String,
}

impl Default for ProjectConfig {
    fn default() -> Self {
        Self {
            name: default_project_name(),
            version: default_version(),
        }
    }
}

fn default_project_name() -> String {
    "forge-app".to_string()
}

fn default_version() -> String {
    "0.1.0".to_string()
}