cup_cli/config/
package.rs1use 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}