use super::MonorepoKind;
impl MonorepoKind {
#[must_use]
pub fn name(&self) -> String {
match self {
MonorepoKind::NpmWorkSpace => String::from("npm"),
MonorepoKind::YarnWorkspaces => String::from("yarn"),
MonorepoKind::PnpmWorkspaces => String::from("pnpm"),
MonorepoKind::BunWorkspaces => String::from("bun"),
MonorepoKind::DenoWorkspaces => String::from("deno"),
MonorepoKind::Custom { name, config_file: _ } => name.clone(),
}
}
#[must_use]
pub fn config_file(self) -> String {
match self {
MonorepoKind::YarnWorkspaces | MonorepoKind::NpmWorkSpace => {
String::from("package.json")
}
MonorepoKind::PnpmWorkspaces => String::from("pnpm-workspace.yaml"),
MonorepoKind::BunWorkspaces => String::from("bunfig.toml"),
MonorepoKind::DenoWorkspaces => String::from("deno.json"),
MonorepoKind::Custom { name: _, config_file } => config_file.clone(),
}
}
#[must_use]
pub fn set_custom(&self, name: String, config_file: String) -> Self {
MonorepoKind::Custom { name, config_file }
}
}