aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/react/promise/promise.rs
blob: 756a58a1655bf3fee0a944c1abb1ddf6ef0ad0f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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!()
    }
}