diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-12 03:45:07 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-12 03:45:07 +0900 |
| commit | adeeed0e989a6643862cb2cd8f885edd03105bc1 (patch) | |
| tree | 89b5a381352067bec1f5ab05215b3f0442582f6a /crates/shirabe/src/event_dispatcher | |
| parent | c772e00dfbe4dd10d06c2fe9cb2389158ddae744 (diff) | |
| download | php-shirabe-adeeed0e989a6643862cb2cd8f885edd03105bc1.tar.gz php-shirabe-adeeed0e989a6643862cb2cd8f885edd03105bc1.tar.zst php-shirabe-adeeed0e989a6643862cb2cd8f885edd03105bc1.zip | |
feat(port): port EventSubscriberInterface.php
Diffstat (limited to 'crates/shirabe/src/event_dispatcher')
| -rw-r--r-- | crates/shirabe/src/event_dispatcher/event_subscriber_interface.rs | 14 |
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>; +} |
