aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/contracts
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/contracts')
-rw-r--r--crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/event.rs12
-rw-r--r--crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/event_dispatcher_interface.rs6
-rw-r--r--crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/mod.rs5
-rw-r--r--crates/shirabe-external-packages/src/symfony/contracts/mod.rs5
-rw-r--r--crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs3
-rw-r--r--crates/shirabe-external-packages/src/symfony/contracts/service/reset_interface.rs4
6 files changed, 35 insertions, 0 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/event.rs b/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/event.rs
new file mode 100644
index 0000000..ddf08a5
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/event.rs
@@ -0,0 +1,12 @@
+#[derive(Debug)]
+pub struct Event;
+
+impl Event {
+ pub fn is_propagation_stopped(&self) -> bool {
+ todo!()
+ }
+
+ pub fn stop_propagation(&mut self) {
+ todo!()
+ }
+}
diff --git a/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/event_dispatcher_interface.rs b/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/event_dispatcher_interface.rs
new file mode 100644
index 0000000..f09b264
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/event_dispatcher_interface.rs
@@ -0,0 +1,6 @@
+use shirabe_php_shim::PhpMixed;
+
+/// Mirror of PSR-14 / Symfony's `EventDispatcherInterface`.
+pub trait EventDispatcherInterface: std::fmt::Debug {
+ fn dispatch(&self, event: PhpMixed, event_name: &str) -> PhpMixed;
+}
diff --git a/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/mod.rs b/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/mod.rs
new file mode 100644
index 0000000..44a34e1
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/contracts/event_dispatcher/mod.rs
@@ -0,0 +1,5 @@
+pub mod event;
+pub mod event_dispatcher_interface;
+
+pub use event::*;
+pub use event_dispatcher_interface::*;
diff --git a/crates/shirabe-external-packages/src/symfony/contracts/mod.rs b/crates/shirabe-external-packages/src/symfony/contracts/mod.rs
new file mode 100644
index 0000000..ad1b417
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/contracts/mod.rs
@@ -0,0 +1,5 @@
+pub mod event_dispatcher;
+pub mod service;
+
+pub use event_dispatcher::*;
+pub use service::*;
diff --git a/crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs b/crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs
new file mode 100644
index 0000000..5dbf535
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs
@@ -0,0 +1,3 @@
+pub mod reset_interface;
+
+pub use reset_interface::*;
diff --git a/crates/shirabe-external-packages/src/symfony/contracts/service/reset_interface.rs b/crates/shirabe-external-packages/src/symfony/contracts/service/reset_interface.rs
new file mode 100644
index 0000000..cdfe2cf
--- /dev/null
+++ b/crates/shirabe-external-packages/src/symfony/contracts/service/reset_interface.rs
@@ -0,0 +1,4 @@
+/// Mirror of Symfony's `ResetInterface`.
+pub trait ResetInterface {
+ fn reset(&mut self);
+}