From b6a887e7e5db7747cf05a4c1558a6d765cf7c24e Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 15 May 2026 23:40:41 +0900 Subject: feat(port): port CompleteAliasPackage.php --- .../shirabe/src/package/complete_alias_package.rs | 122 +++++++++++++++++++++ 1 file changed, 122 insertions(+) (limited to 'crates/shirabe/src/package') diff --git a/crates/shirabe/src/package/complete_alias_package.rs b/crates/shirabe/src/package/complete_alias_package.rs index 431d852..9da998a 100644 --- a/crates/shirabe/src/package/complete_alias_package.rs +++ b/crates/shirabe/src/package/complete_alias_package.rs @@ -1 +1,123 @@ //! ref: composer/src/Composer/Package/CompleteAliasPackage.php + +use crate::package::alias_package::AliasPackage; +use crate::package::complete_package::CompletePackage; +use crate::package::complete_package_interface::CompletePackageInterface; + +#[derive(Debug)] +pub struct CompleteAliasPackage { + inner: AliasPackage, + // overrides AliasPackage::alias_of with the more specific CompletePackage type + pub(crate) alias_of: CompletePackage, +} + +impl CompleteAliasPackage { + pub fn new(alias_of: CompletePackage, version: String, pretty_version: String) -> Self { + let inner = AliasPackage::new(alias_of.clone(), version, pretty_version); + Self { inner, alias_of } + } + + pub fn get_alias_of(&self) -> &CompletePackage { + &self.alias_of + } + + pub fn get_scripts(&self) -> indexmap::IndexMap> { + self.alias_of.get_scripts() + } + + pub fn set_scripts(&mut self, scripts: indexmap::IndexMap>) { + self.alias_of.set_scripts(scripts); + } + + pub fn get_repositories(&self) -> Vec> { + self.alias_of.get_repositories() + } + + pub fn set_repositories(&mut self, repositories: Vec>) { + self.alias_of.set_repositories(repositories); + } + + pub fn get_license(&self) -> Vec { + self.alias_of.get_license() + } + + pub fn set_license(&mut self, license: Vec) { + self.alias_of.set_license(license); + } + + pub fn get_keywords(&self) -> Vec { + self.alias_of.get_keywords() + } + + pub fn set_keywords(&mut self, keywords: Vec) { + self.alias_of.set_keywords(keywords); + } + + pub fn get_description(&self) -> Option<&str> { + self.alias_of.get_description() + } + + pub fn set_description(&mut self, description: Option) { + self.alias_of.set_description(description); + } + + pub fn get_homepage(&self) -> Option<&str> { + self.alias_of.get_homepage() + } + + pub fn set_homepage(&mut self, homepage: Option) { + self.alias_of.set_homepage(homepage); + } + + pub fn get_authors(&self) -> Vec> { + self.alias_of.get_authors() + } + + pub fn set_authors(&mut self, authors: Vec>) { + self.alias_of.set_authors(authors); + } + + pub fn get_support(&self) -> indexmap::IndexMap { + self.alias_of.get_support() + } + + pub fn set_support(&mut self, support: indexmap::IndexMap) { + self.alias_of.set_support(support); + } + + pub fn get_funding(&self) -> Vec> { + self.alias_of.get_funding() + } + + pub fn set_funding(&mut self, funding: Vec>) { + self.alias_of.set_funding(funding); + } + + pub fn is_abandoned(&self) -> bool { + self.alias_of.is_abandoned() + } + + pub fn get_replacement_package(&self) -> Option<&str> { + self.alias_of.get_replacement_package() + } + + pub fn set_abandoned(&mut self, abandoned: shirabe_php_shim::PhpMixed) { + self.alias_of.set_abandoned(abandoned); + } + + pub fn get_archive_name(&self) -> Option<&str> { + self.alias_of.get_archive_name() + } + + pub fn set_archive_name(&mut self, name: Option) { + self.alias_of.set_archive_name(name); + } + + pub fn get_archive_excludes(&self) -> Vec { + self.alias_of.get_archive_excludes() + } + + pub fn set_archive_excludes(&mut self, excludes: Vec) { + self.alias_of.set_archive_excludes(excludes); + } +} -- cgit v1.3.1