aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs')
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
index c115df0..ccb5a98 100644
--- a/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
+++ b/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
@@ -1,6 +1,7 @@
//! ref: composer/vendor/symfony/console/Input/InputInterface.php
use crate::symfony::console::input::input_definition::InputDefinition;
+use crate::symfony::console::input::streamable_input_interface::StreamableInputInterface;
use shirabe_php_shim::PhpMixed;
pub trait InputInterface: std::fmt::Debug + shirabe_php_shim::AsAny {
@@ -41,4 +42,10 @@ pub trait InputInterface: std::fmt::Debug + shirabe_php_shim::AsAny {
fn is_interactive(&self) -> bool;
fn set_interactive(&mut self, interactive: bool);
+
+ /// Models PHP's `$input instanceof StreamableInputInterface` check. Streamable inputs override
+ /// this to return `Some(self)`; everything else falls back to `None`.
+ fn as_streamable(&self) -> Option<&dyn StreamableInputInterface> {
+ None
+ }
}