deft_quick_js/
exception.rs1use crate::JsValue;
2
3pub trait HostPromiseRejectionTracker {
4 fn track_promise_rejection(&mut self, promise: JsValue, reason: JsValue, is_handled: bool);
5}
6
7pub struct HostPromiseRejectionTrackerWrapper {
8 pub tracker: Box<dyn HostPromiseRejectionTracker>,
9}
10
11impl HostPromiseRejectionTrackerWrapper {
12 pub fn new(tracker: Box<dyn HostPromiseRejectionTracker>) -> Self {
13 Self { tracker }
14 }
15}
16
17pub struct DumpHostPromiseRejectionTracker {}
18
19impl DumpHostPromiseRejectionTracker {
20 pub fn new() -> Self {
21 Self {}
22 }
23}
24
25impl HostPromiseRejectionTracker for DumpHostPromiseRejectionTracker {
26 fn track_promise_rejection(&mut self, _promise: JsValue, reason: JsValue, _is_handled: bool) {
27 println!("uncaught promise rejection: {:?}", reason);
28 }
29}