aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-15 23:40:41 +0900
committernsfisis <nsfisis@gmail.com>2026-05-16 10:00:40 +0900
commitb6a887e7e5db7747cf05a4c1558a6d765cf7c24e (patch)
tree7c9c29a482b56b4a312df170fafba8fd998d5ffa /crates/shirabe/src/package
parentc781e0006ec2d939a5d0d2b563b439de488d12e6 (diff)
downloadphp-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.rs122
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);
+ }
+}