New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

eventex

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eventex

An slower but more feature rich dropin replace for events.EventEmitter

latest
npmnpm
Version
0.1.0
Version published
Weekly downloads
10
Maintainers
1
Weekly downloads
 
Created
Source

EventEx

An slower but more powerfull EventEmitter implementation. events.EventEmitter are more likely designed for low level system and sometimes hard to use. This module add some more friendly API.

Usage

EventEmitter = require("eventex").EventEmitter
class Parent
    constructor:()->
        @name = "myobj"
    addChild:(child)->
        # we need to maintain the listener so we can remove it later
        child._printChild = this.printChild.bind(this);
        child.on "update",child._printChild
    addChildEx:(child)->
        # no need to maintain listener
        child.listenBy this,"update",printChild
    removeChild:(child)->
        # remove with maintained listener
        child.removeListener "update",child._printChild
    removeChildEx:(child)->
        # remove any listener listen by `this`
        # easy work!
        child.stopListenBy this
    printChild:(child)->
        console.log @name,"child updates:",child.name
    showChilds:()-> 
        console.log(@name);
    
class Child extends EventEmitter
    @id = 0
    constructor:()->
        @name = "child #{Child.id++}"
    update:()->
        @emit "update",this
// old style

API

  • compatible with events.EventEmitter except without domain support and force error throw.
  • eventex.EventEmitter.mixin(obj): mixin to an object.
  • instance eventex.EventEmitter.listenBy(who,events,callback) callback will be called with who as the this parameter.
  • instance eventex.EventEmitter.stopListenBy(who)
  • instance eventex.EventEmitter.bubble(childEventEmitter,event,processor) bubble event using processor. processor should return array like ["newEventName",param1,param2...]. if no processor provided, the event will just bubbled as it is.
  • instance eventex.EventEmitter.stopBubble(childEventEmitter,)
  • instance eventex.EventEmitter.stopAllBubble()
  • instance eventex.EventEmitter.destroy() remove all listener on the event emitter, and all bubbles.

Keywords

EventEmitter

FAQs

Package last updated on 03 Nov 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts