diff options
Diffstat (limited to 'crates/mozart-core/src/package')
| -rw-r--r-- | crates/mozart-core/src/package/complete_package_interface.rs | 17 | ||||
| -rw-r--r-- | crates/mozart-core/src/package/package_interface.rs | 33 |
2 files changed, 50 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]; +} diff --git a/crates/mozart-core/src/package/package_interface.rs b/crates/mozart-core/src/package/package_interface.rs new file mode 100644 index 0000000..7006657 --- /dev/null +++ b/crates/mozart-core/src/package/package_interface.rs @@ -0,0 +1,33 @@ +use crate::package::{AutoloadRules, Link, Stability}; + +/// ref: \Composer\Package\PackageInterface +pub trait PackageInterface { + fn name(&self) -> &str; + fn pretty_name(&self) -> &str; + fn version(&self) -> &str; + fn pretty_version(&self) -> &str; + fn package_type(&self) -> &str; + fn target_dir(&self) -> Option<&str>; + fn source_type(&self) -> Option<&str>; + fn source_url(&self) -> Option<&str>; + fn source_reference(&self) -> Option<&str>; + fn dist_type(&self) -> Option<&str>; + fn dist_url(&self) -> Option<&str>; + fn dist_reference(&self) -> Option<&str>; + fn dist_sha1_checksum(&self) -> Option<&str>; + fn release_date(&self) -> Option<&str>; + fn extra(&self) -> &indexmap::IndexMap<String, serde_json::Value>; + fn binaries(&self) -> &[String]; + fn is_dev(&self) -> bool; + fn stability(&self) -> Stability; + fn notification_url(&self) -> Option<&str>; + fn requires(&self) -> &indexmap::IndexMap<String, Link>; + fn conflicts(&self) -> &indexmap::IndexMap<String, Link>; + fn provides(&self) -> &indexmap::IndexMap<String, Link>; + fn replaces(&self) -> &indexmap::IndexMap<String, Link>; + fn dev_requires(&self) -> &indexmap::IndexMap<String, Link>; + fn suggests(&self) -> &indexmap::IndexMap<String, String>; + fn autoload(&self) -> &AutoloadRules; + fn dev_autoload(&self) -> &AutoloadRules; + fn is_default_branch(&self) -> bool; +} |
