aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-12 03:45:07 +0900
committernsfisis <nsfisis@gmail.com>2026-05-12 03:45:07 +0900
commitadeeed0e989a6643862cb2cd8f885edd03105bc1 (patch)
tree89b5a381352067bec1f5ab05215b3f0442582f6a
parentc772e00dfbe4dd10d06c2fe9cb2389158ddae744 (diff)
downloadphp-shirabe-adeeed0e989a6643862cb2cd8f885edd03105bc1.tar.gz
php-shirabe-adeeed0e989a6643862cb2cd8f885edd03105bc1.tar.zst
php-shirabe-adeeed0e989a6643862cb2cd8f885edd03105bc1.zip
feat(port): port EventSubscriberInterface.php
-rw-r--r--crates/shirabe/src/event_dispatcher/event_subscriber_interface.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/crates/shirabe/src/event_dispatcher/event_subscriber_interface.rs b/crates/shirabe/src/event_dispatcher/event_subscriber_interface.rs
index 70c689c..41d723d 100644
--- a/crates/shirabe/src/event_dispatcher/event_subscriber_interface.rs
+++ b/crates/shirabe/src/event_dispatcher/event_subscriber_interface.rs
@@ -1 +1,15 @@
//! ref: composer/src/Composer/EventDispatcher/EventSubscriberInterface.php
+
+use indexmap::IndexMap;
+
+/// Represents one event's subscriber info: method name only, method+priority, or multiple handlers.
+pub enum SubscribedEventEntry {
+ Method(String),
+ MethodWithPriority(String, Option<i64>),
+ Methods(Vec<(String, Option<i64>)>),
+}
+
+pub trait EventSubscriberInterface {
+ /// Returns an array of event names this subscriber wants to listen to.
+ fn get_subscribed_events() -> IndexMap<String, SubscribedEventEntry>;
+}