aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/react/promise/promise.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/react/promise/promise.rs')
-rw-r--r--crates/shirabe-external-packages/src/react/promise/promise.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/crates/shirabe-external-packages/src/react/promise/promise.rs b/crates/shirabe-external-packages/src/react/promise/promise.rs
new file mode 100644
index 0000000..36770b6
--- /dev/null
+++ b/crates/shirabe-external-packages/src/react/promise/promise.rs
@@ -0,0 +1,18 @@
+use shirabe_php_shim::PhpMixed;
+
+#[derive(Debug)]
+pub struct Promise;
+
+impl Promise {
+ pub fn new(resolver: Box<dyn FnOnce(Box<dyn FnOnce(Option<PhpMixed>)>, Box<dyn FnOnce(Option<PhpMixed>)>)>) -> 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>,
+ {
+ todo!()
+ }
+}