aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--crates/shirabe/src/plugin/post_file_download_event.rs56
1 files changed, 56 insertions, 0 deletions
diff --git a/crates/shirabe/src/plugin/post_file_download_event.rs b/crates/shirabe/src/plugin/post_file_download_event.rs
index 72c68c3..f0e2569 100644
--- a/crates/shirabe/src/plugin/post_file_download_event.rs
+++ b/crates/shirabe/src/plugin/post_file_download_event.rs
@@ -1 +1,57 @@
//! ref: composer/src/Composer/Plugin/PostFileDownloadEvent.php
+
+use shirabe_php_shim::PhpMixed;
+
+use crate::event_dispatcher::event::Event;
+
+#[derive(Debug)]
+pub struct PostFileDownloadEvent {
+ inner: Event,
+ file_name: Option<String>,
+ checksum: Option<String>,
+ url: String,
+ context: PhpMixed,
+ r#type: String,
+}
+
+impl PostFileDownloadEvent {
+ pub fn new(
+ name: String,
+ file_name: Option<String>,
+ checksum: Option<String>,
+ url: String,
+ r#type: String,
+ context: PhpMixed,
+ ) -> Self {
+ Self {
+ inner: Event::new(name, vec![], indexmap::IndexMap::new()),
+ file_name,
+ checksum,
+ url,
+ context,
+ r#type,
+ }
+ }
+
+ pub fn get_file_name(&self) -> Option<&str> {
+ self.file_name.as_deref()
+ }
+
+ pub fn get_checksum(&self) -> Option<&str> {
+ self.checksum.as_deref()
+ }
+
+ pub fn get_url(&self) -> &str {
+ &self.url
+ }
+
+ pub fn get_context(&self) -> &PhpMixed {
+ &self.context
+ }
+
+ // TODO(plugin): getPackage is deprecated since Composer 2.1, use getContext instead
+
+ pub fn get_type(&self) -> &str {
+ &self.r#type
+ }
+}