From 7ea90fb43b7de824019fc5e97a9b0767eecf9ae4 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 15 May 2026 23:47:35 +0900 Subject: feat(port): port CompletePackageInterface.php --- .../src/package/complete_package_interface.rs | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'crates') 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>; + + fn set_scripts(&mut self, scripts: IndexMap>); + + fn get_repositories(&self) -> Vec>; + + fn set_repositories(&mut self, repositories: Vec>); + + fn get_license(&self) -> Vec; + + fn set_license(&mut self, license: Vec); + + fn get_keywords(&self) -> Vec; + + fn set_keywords(&mut self, keywords: Vec); + + 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>; + + fn set_authors(&mut self, authors: Vec>); + + fn get_support(&self) -> IndexMap; + + fn set_support(&mut self, support: IndexMap); + + fn get_funding(&self) -> Vec>; + + fn set_funding(&mut self, funding: Vec>); + + 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; + + fn set_archive_excludes(&mut self, excludes: Vec); +} -- cgit v1.3.1