pub trait Emitter<'js>{
Show 26 methods
// Required method
fn get_event_list(&self) -> Arc<RwLock<EventList<'js>>> ⓘ;
// Provided methods
fn on_event_changed(
&mut self,
_event: EventKey<'js>,
_added: bool,
) -> Result<()> { ... }
fn resolve_events_from(
ctx: &Ctx<'js>,
this: &Object<'js>,
) -> Result<Events<'js>> { ... }
fn add_event_emitter_prototype(ctx: &Ctx<'js>) -> Result<Object<'js>> { ... }
fn add_event_target_prototype(ctx: &Ctx<'js>) -> Result<Object<'js>> { ... }
fn trace_event_emitter<'a>(&self, tracer: Tracer<'a, 'js>) { ... }
fn remove_event_listener_str(
this: Class<'js, Self>,
ctx: &Ctx<'js>,
event: &str,
listener: Function<'js>,
) -> Result<Object<'js>> { ... }
fn remove_event_listener(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
listener: Function<'js>,
) -> Result<Object<'js>> { ... }
fn add_event_listener_str(
this: Class<'js, Self>,
ctx: &Ctx<'js>,
event: &str,
listener: Function<'js>,
prepend: bool,
once: bool,
) -> Result<Object<'js>> { ... }
fn once(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
listener: Function<'js>,
) -> Result<Object<'js>> { ... }
fn on(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
listener: Function<'js>,
) -> Result<Object<'js>> { ... }
fn prepend_listener(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
listener: Function<'js>,
) -> Result<Object<'js>> { ... }
fn prepend_once_listener(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
listener: Function<'js>,
) -> Result<Object<'js>> { ... }
fn evt_add_event_listener(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
listener: Function<'js>,
options: Opt<Object<'js>>,
) -> Result<Object<'js>> { ... }
fn add_event_listener(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
listener: Function<'js>,
prepend: bool,
once: bool,
) -> Result<Object<'js>> { ... }
fn has_listener_str(&self, event: &str) -> bool { ... }
fn has_listener(&self, ctx: Ctx<'js>, event: Value<'js>) -> Result<bool> { ... }
fn get_listeners(
&self,
ctx: &Ctx<'js>,
event: Value<'js>,
) -> Result<Vec<Function<'js>>> { ... }
fn get_listeners_str(&self, event: &str) -> Vec<Function<'js>> { ... }
fn do_emit(
event: Value<'js>,
this: This<Object<'js>>,
ctx: &Ctx<'js>,
args: Rest<Value<'js>>,
defer: bool,
) -> Result<bool> { ... }
fn emit_str(
this: Class<'js, Self>,
ctx: &Ctx<'js>,
event: &str,
args: Vec<Value<'js>>,
defer: bool,
) -> Result<()> { ... }
fn emit(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
args: Rest<Value<'js>>,
) -> Result<bool> { ... }
fn evt_dispatch_event(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
) -> Result<bool> { ... }
fn event_names(
this: This<Object<'js>>,
ctx: Ctx<'js>,
) -> Result<Vec<Value<'js>>> { ... }
fn listener_count(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Value<'js>,
) -> Result<usize> { ... }
fn remove_all_listeners(
this: This<Object<'js>>,
ctx: Ctx<'js>,
event: Opt<Value<'js>>,
) -> Result<Object<'js>> { ... }
}Required Methods§
Provided Methods§
fn on_event_changed( &mut self, _event: EventKey<'js>, _added: bool, ) -> Result<()>
Sourcefn resolve_events_from(
ctx: &Ctx<'js>,
this: &Object<'js>,
) -> Result<Events<'js>>
fn resolve_events_from( ctx: &Ctx<'js>, this: &Object<'js>, ) -> Result<Events<'js>>
Resolve the event list from a this object. For native classes,
extracts from the class data. For plain JS objects, uses the hidden property.
fn add_event_emitter_prototype(ctx: &Ctx<'js>) -> Result<Object<'js>>
fn add_event_target_prototype(ctx: &Ctx<'js>) -> Result<Object<'js>>
fn trace_event_emitter<'a>(&self, tracer: Tracer<'a, 'js>)
fn remove_event_listener_str( this: Class<'js, Self>, ctx: &Ctx<'js>, event: &str, listener: Function<'js>, ) -> Result<Object<'js>>
fn remove_event_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>
fn add_event_listener_str( this: Class<'js, Self>, ctx: &Ctx<'js>, event: &str, listener: Function<'js>, prepend: bool, once: bool, ) -> Result<Object<'js>>
fn once( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>
fn on( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>
fn prepend_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>
fn prepend_once_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>
fn evt_add_event_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, options: Opt<Object<'js>>, ) -> Result<Object<'js>>
fn add_event_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, prepend: bool, once: bool, ) -> Result<Object<'js>>
fn has_listener_str(&self, event: &str) -> bool
fn has_listener(&self, ctx: Ctx<'js>, event: Value<'js>) -> Result<bool>
fn get_listeners( &self, ctx: &Ctx<'js>, event: Value<'js>, ) -> Result<Vec<Function<'js>>>
fn get_listeners_str(&self, event: &str) -> Vec<Function<'js>>
fn do_emit( event: Value<'js>, this: This<Object<'js>>, ctx: &Ctx<'js>, args: Rest<Value<'js>>, defer: bool, ) -> Result<bool>
fn emit_str( this: Class<'js, Self>, ctx: &Ctx<'js>, event: &str, args: Vec<Value<'js>>, defer: bool, ) -> Result<()>
fn emit( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, args: Rest<Value<'js>>, ) -> Result<bool>
fn evt_dispatch_event( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, ) -> Result<bool>
fn event_names( this: This<Object<'js>>, ctx: Ctx<'js>, ) -> Result<Vec<Value<'js>>>
fn listener_count( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, ) -> Result<usize>
fn remove_all_listeners( this: This<Object<'js>>, ctx: Ctx<'js>, event: Opt<Value<'js>>, ) -> Result<Object<'js>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".