diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-15 23:40:41 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-16 10:00:40 +0900 |
| commit | b6a887e7e5db7747cf05a4c1558a6d765cf7c24e (patch) | |
| tree | 7c9c29a482b56b4a312df170fafba8fd998d5ffa /crates/shirabe/src/package | |
| parent | c781e0006ec2d939a5d0d2b563b439de488d12e6 (diff) | |
| download | php-shirabe-b6a887e7e5db7747cf05a4c1558a6d765cf7c24e.tar.gz php-shirabe-b6a887e7e5db7747cf05a4c1558a6d765cf7c24e.tar.zst php-shirabe-b6a887e7e5db7747cf05a4c1558a6d765cf7c24e.zip | |
feat(port): port CompleteAliasPackage.php
Diffstat (limited to 'crates/shirabe/src/package')
| -rw-r--r-- | crates/shirabe/src/package/complete_alias_package.rs | 122 |
1 files changed, 122 insertions, 0 deletions
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<String, Vec<String>> { + self.alias_of.get_scripts() + } + + pub fn set_scripts(&mut self, scripts: indexmap::IndexMap<String, Vec<String>>) { + self.alias_of.set_scripts(scripts); + } + + pub fn get_repositories(&self) -> Vec<indexmap::IndexMap<String, shirabe_php_shim::PhpMixed>> { + self.alias_of.get_repositories() + } + + pub fn set_repositories(&mut self, repositories: Vec<indexmap::IndexMap<String, shirabe_php_shim::PhpMixed>>) { + self.alias_of.set_repositories(repositories); + } + + pub fn get_license(&self) -> Vec<String> { + self.alias_of.get_license() + } + + pub fn set_license(&mut self, license: Vec<String>) { + self.alias_of.set_license(license); + } + + pub fn get_keywords(&self) -> Vec<String> { + self.alias_of.get_keywords() + } + + pub fn set_keywords(&mut self, keywords: Vec<String>) { + 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<String>) { + 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<String>) { + self.alias_of.set_homepage(homepage); + } + + pub fn get_authors(&self) -> Vec<indexmap::IndexMap<String, String>> { + self.alias_of.get_authors() + } + + pub fn set_authors(&mut self, authors: Vec<indexmap::IndexMap<String, String>>) { + self.alias_of.set_authors(authors); + } + + pub fn get_support(&self) -> indexmap::IndexMap<String, String> { + self.alias_of.get_support() + } + + pub fn set_support(&mut self, support: indexmap::IndexMap<String, String>) { + self.alias_of.set_support(support); + } + + pub fn get_funding(&self) -> Vec<indexmap::IndexMap<String, shirabe_php_shim::PhpMixed>> { + self.alias_of.get_funding() + } + + pub fn set_funding(&mut self, funding: Vec<indexmap::IndexMap<String, shirabe_php_shim::PhpMixed>>) { + 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<String>) { + self.alias_of.set_archive_name(name); + } + + pub fn get_archive_excludes(&self) -> Vec<String> { + self.alias_of.get_archive_excludes() + } + + pub fn set_archive_excludes(&mut self, excludes: Vec<String>) { + self.alias_of.set_archive_excludes(excludes); + } +} |
