Skip to main content

cup_cli/config/
package.rs

1use std::path::Path;
2
3use crate::{cli::TemplateType, config::Shelling};
4
5#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
6pub struct PackageConfig {
7    pub name: String,
8    pub version: String,
9    #[serde(rename = "type")]
10    pub ty: TemplateType,
11}
12
13impl<P: AsRef<Path>> Shelling<Package, P> for PackageConfig {
14    fn shelling(self, _base: P) -> Package {
15        Package {
16            name: self.name,
17            version: self.version,
18            ty: self.ty,
19        }
20    }
21}
22
23#[derive(Debug, Clone)]
24pub struct Package {
25    pub name: String,
26    pub version: String,
27    pub ty: TemplateType,
28}