Skip to main content

Emitter

Trait Emitter 

Source
pub trait Emitter<'js>
where Self: JsClass<'js> + Sized + '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§

Source

fn on_event_changed( &mut self, _event: EventKey<'js>, _added: bool, ) -> Result<()>

Source

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.

Source

fn add_event_emitter_prototype(ctx: &Ctx<'js>) -> Result<Object<'js>>

Source

fn add_event_target_prototype(ctx: &Ctx<'js>) -> Result<Object<'js>>

Source

fn trace_event_emitter<'a>(&self, tracer: Tracer<'a, 'js>)

Source

fn remove_event_listener_str( this: Class<'js, Self>, ctx: &Ctx<'js>, event: &str, listener: Function<'js>, ) -> Result<Object<'js>>

Source

fn remove_event_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>

Source

fn add_event_listener_str( this: Class<'js, Self>, ctx: &Ctx<'js>, event: &str, listener: Function<'js>, prepend: bool, once: bool, ) -> Result<Object<'js>>

Source

fn once( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>

Source

fn on( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>

Source

fn prepend_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>

Source

fn prepend_once_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, ) -> Result<Object<'js>>

Source

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>>

Source

fn add_event_listener( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, listener: Function<'js>, prepend: bool, once: bool, ) -> Result<Object<'js>>

Source

fn has_listener_str(&self, event: &str) -> bool

Source

fn has_listener(&self, ctx: Ctx<'js>, event: Value<'js>) -> Result<bool>

Source

fn get_listeners( &self, ctx: &Ctx<'js>, event: Value<'js>, ) -> Result<Vec<Function<'js>>>

Source

fn get_listeners_str(&self, event: &str) -> Vec<Function<'js>>

Source

fn do_emit( event: Value<'js>, this: This<Object<'js>>, ctx: &Ctx<'js>, args: Rest<Value<'js>>, defer: bool, ) -> Result<bool>

Source

fn emit_str( this: Class<'js, Self>, ctx: &Ctx<'js>, event: &str, args: Vec<Value<'js>>, defer: bool, ) -> Result<()>

Source

fn emit( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, args: Rest<Value<'js>>, ) -> Result<bool>

Source

fn evt_dispatch_event( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, ) -> Result<bool>

Source

fn event_names( this: This<Object<'js>>, ctx: Ctx<'js>, ) -> Result<Vec<Value<'js>>>

Source

fn listener_count( this: This<Object<'js>>, ctx: Ctx<'js>, event: Value<'js>, ) -> Result<usize>

Source

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".

Implementors§

Source§

impl<'js> Emitter<'js> for AbortSignal<'js>

Source§

impl<'js> Emitter<'js> for EventEmitter<'js>

Source§

impl<'js> Emitter<'js> for EventTarget<'js>