aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-15 23:47:35 +0900
committernsfisis <nsfisis@gmail.com>2026-05-16 10:00:40 +0900
commit7ea90fb43b7de824019fc5e97a9b0767eecf9ae4 (patch)
treed1f8882a6e5ee41159d0d87b6455c8381370ef59 /crates/shirabe/src/package
parent2c94b6f05e12106e2da64ecd1e066ca4ecb330df (diff)
downloadphp-shirabe-7ea90fb43b7de824019fc5e97a9b0767eecf9ae4.tar.gz
php-shirabe-7ea90fb43b7de824019fc5e97a9b0767eecf9ae4.tar.zst
php-shirabe-7ea90fb43b7de824019fc5e97a9b0767eecf9ae4.zip
feat(port): port CompletePackageInterface.php
Diffstat (limited to 'crates/shirabe/src/package')
-rw-r--r--crates/shirabe/src/package/complete_package_interface.rs57
1 files changed, 57 insertions, 0 deletions
diff --git a/crates/shirabe/src/package/complete_package_interface.rs b/crates/shirabe/src/package/complete_package_interface.rs
index 509242d..31780a7 100644
--- a/crates/shirabe/src/package/complete_package_interface.rs
+++ b/crates/shirabe/src/package/complete_package_interface.rs
@@ -1 +1,58 @@
//! ref: composer/src/Composer/Package/CompletePackageInterface.php
+
+use indexmap::IndexMap;
+use shirabe_php_shim::PhpMixed;
+
+use crate::package::package_interface::PackageInterface;
+
+pub trait CompletePackageInterface: PackageInterface {
+ fn get_scripts(&self) -> IndexMap<String, Vec<String>>;
+
+ fn set_scripts(&mut self, scripts: IndexMap<String, Vec<String>>);
+
+ fn get_repositories(&self) -> Vec<IndexMap<String, PhpMixed>>;
+
+ fn set_repositories(&mut self, repositories: Vec<IndexMap<String, PhpMixed>>);
+
+ fn get_license(&self) -> Vec<String>;
+
+ fn set_license(&mut self, license: Vec<String>);
+
+ fn get_keywords(&self) -> Vec<String>;
+
+ fn set_keywords(&mut self, keywords: Vec<String>);
+
+ fn get_description(&self) -> Option<&str>;
+
+ fn set_description(&mut self, description: String);
+
+ fn get_homepage(&self) -> Option<&str>;
+
+ fn set_homepage(&mut self, homepage: String);
+
+ fn get_authors(&self) -> Vec<IndexMap<String, String>>;
+
+ fn set_authors(&mut self, authors: Vec<IndexMap<String, String>>);
+
+ fn get_support(&self) -> IndexMap<String, String>;
+
+ fn set_support(&mut self, support: IndexMap<String, String>);
+
+ fn get_funding(&self) -> Vec<IndexMap<String, PhpMixed>>;
+
+ fn set_funding(&mut self, funding: Vec<IndexMap<String, PhpMixed>>);
+
+ fn is_abandoned(&self) -> bool;
+
+ fn get_replacement_package(&self) -> Option<&str>;
+
+ fn set_abandoned(&mut self, abandoned: PhpMixed);
+
+ fn get_archive_name(&self) -> Option<&str>;
+
+ fn set_archive_name(&mut self, name: String);
+
+ fn get_archive_excludes(&self) -> Vec<String>;
+
+ fn set_archive_excludes(&mut self, excludes: Vec<String>);
+}