aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/react/promise
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-19 00:10:22 +0900
committernsfisis <nsfisis@gmail.com>2026-05-19 00:11:03 +0900
commitc839244d8d09f3036ebfee8eef7eb6b147e593ab (patch)
treefe48c94f2c2e62468beef5ff1a8f3cff6adeef4f /crates/shirabe-external-packages/src/react/promise
parent48839250146b217e2756ed3c0e624fd341b54d6c (diff)
downloadphp-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.gz
php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.zst
php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.zip
fix(compile): fix various compile errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-external-packages/src/react/promise')
-rw-r--r--crates/shirabe-external-packages/src/react/promise/mod.rs6
-rw-r--r--crates/shirabe-external-packages/src/react/promise/promise.rs14
2 files changed, 12 insertions, 8 deletions
diff --git a/crates/shirabe-external-packages/src/react/promise/mod.rs b/crates/shirabe-external-packages/src/react/promise/mod.rs
index 146c2f1..5f1195f 100644
--- a/crates/shirabe-external-packages/src/react/promise/mod.rs
+++ b/crates/shirabe-external-packages/src/react/promise/mod.rs
@@ -1,13 +1,13 @@
pub mod promise;
pub mod promise_interface;
-use self::promise::Promise;
+use self::promise_interface::PromiseInterface;
use shirabe_php_shim::PhpMixed;
-pub fn resolve(_value: Option<PhpMixed>) -> Promise {
+pub fn resolve(_value: Option<PhpMixed>) -> Box<dyn PromiseInterface> {
todo!()
}
-pub fn all(_promises: Vec<Promise>) -> Promise {
+pub fn all(_promises: Vec<Box<dyn PromiseInterface>>) -> Box<dyn PromiseInterface> {
todo!()
}
diff --git a/crates/shirabe-external-packages/src/react/promise/promise.rs b/crates/shirabe-external-packages/src/react/promise/promise.rs
index 96fa3ed..9407b57 100644
--- a/crates/shirabe-external-packages/src/react/promise/promise.rs
+++ b/crates/shirabe-external-packages/src/react/promise/promise.rs
@@ -1,5 +1,7 @@
use shirabe_php_shim::PhpMixed;
+use super::promise_interface::PromiseInterface;
+
#[derive(Debug)]
pub struct Promise;
@@ -11,12 +13,14 @@ impl Promise {
) -> Self {
todo!()
}
+}
- pub fn then<F, G>(self, _on_fulfilled: Option<F>, _on_rejected: Option<G>) -> Self
- where
- F: FnOnce(Option<PhpMixed>) -> Option<PhpMixed>,
- G: FnOnce(Option<PhpMixed>) -> Option<PhpMixed>,
- {
+impl PromiseInterface for Promise {
+ fn then(
+ &self,
+ _on_fulfilled: Option<Box<dyn FnOnce(Option<PhpMixed>) -> Option<PhpMixed>>>,
+ _on_rejected: Option<Box<dyn FnOnce(Option<PhpMixed>) -> Option<PhpMixed>>>,
+ ) -> Box<dyn PromiseInterface> {
todo!()
}
}