den_stdlib_core/
cancellation.rs

1use delegate_attr::delegate;
2use derivative::Derivative;
3use derive_more::{Deref, DerefMut, From, Into};
4use rquickjs::{class::Trace, JsLifetime};
5pub use tokio_util::sync::CancellationToken;
6
7#[derive(Trace, JsLifetime, Derivative, From, Into, Deref, DerefMut)]
8#[derivative(Clone, Debug)]
9#[rquickjs::class(rename = "CancellationToken")]
10pub struct CancellationTokenWrapper {
11    #[qjs(skip_trace)]
12    pub token: CancellationToken,
13}
14
15#[rquickjs::methods]
16impl CancellationTokenWrapper {
17    #[qjs(constructor)]
18    pub fn new() {}
19
20    #[delegate(self.deref())]
21    pub fn cancel(&self) {}
22}