aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-core/src/package/complete_package_interface.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/mozart-core/src/package/complete_package_interface.rs')
-rw-r--r--crates/mozart-core/src/package/complete_package_interface.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/mozart-core/src/package/complete_package_interface.rs b/crates/mozart-core/src/package/complete_package_interface.rs
new file mode 100644
index 0000000..c321309
--- /dev/null
+++ b/crates/mozart-core/src/package/complete_package_interface.rs
@@ -0,0 +1,17 @@
+use crate::package::{Author, Funding, PackageInterface, Support};
+
+/// ref: \Composer\Package\CompletePackageInterface
+pub trait CompletePackageInterface: PackageInterface {
+ fn description(&self) -> Option<&str>;
+ fn homepage(&self) -> Option<&str>;
+ fn license(&self) -> &[String];
+ fn keywords(&self) -> &[String];
+ fn authors(&self) -> &[Author];
+ fn scripts(&self) -> &indexmap::IndexMap<String, Vec<String>>;
+ fn support(&self) -> &Support;
+ fn funding(&self) -> &[Funding];
+ fn repositories(&self) -> &[serde_json::Value];
+ fn abandoned(&self) -> Option<&str>;
+ fn archive_name(&self) -> Option<&str>;
+ fn archive_excludes(&self) -> &[String];
+}