New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sister

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sister

Event manager.

  • 3.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Sister

Travis build status NPM version

Foundation for your emitter implementation.

I have observed that there is a tendency to write your own implementation of event emitter. I have written a starter pack for those wishing to improve upon existing variations of event emitter implementation.

Please submit your implementation to the index when you are done.

In All Seriousness

Sister is 0.5kb event emitter that does three things: on, off and trigger. It performs well (~18,313,548 operations/sec in browser). If you need something more advanced, consider one of the existing, mature alternatives.

Node

Download using NPM:

npm install sister --save

Browser

Download using Bower:

bower install sister --save

In browser, use gajus.Sister window object.

Methods

Parameters

  • emitter Instance of the Sister() object.
  • event Name of the event.
  • handler A function to execute when the event is triggered.
  • listener Event listener.

emitter.on(event, handler)
  • Add handler for event.
  • Return listener.

emitter.off(listener)
  • Remove listener.

emitter.trigger(event, data)
  • Invoke event listeners (in sequence) with the supplied argument.
  • Return emitter.

Usage

var Sister = require('sister'),
    emitter = Sister(),
    listener;

listener = emitter.on('foo', console.log);
emitter.trigger('foo', 'bar');
emitter.off(listener);
emitter.trigger('foo', 'baz');

This example will print "bar" in the console.log.

Similar Libraries

There are several existing alternatives that you might want to consider before starting to write your own implementation of an event emitter.

RepositoryStarsForksCommitsLast Commit
asyncly/EventEmitter2846923212014-06-12
Wolfy87/EventEmitter7111026282014-09-30
RobertWHurst/LucidJS375151412014-09-26
jeromeetienne/microevent.js28457172014-07-23
uxder/Radio24220472013-06-14
component/emitter15052692014-08-29
necolas/emitter.js753512014-05-16
mkuklis/asEvented7413802014-01-10
FredyC/promised-land671252014-09-05
postaljs/monologue.js666322014-06-20
scottcorgan/tiny-emitter662242014-09-16
primus/EventEmitter3577762014-10-10
segmentio/wildcards562212014-04-10
facebook/emitter501262014-02-20
Gozala/events3911452014-08-29
danielstjules/pattern-emitter383382014-04-25
hrsh7th/js-co-on310122014-07-01
cpsubrian/node-eventflow225442013-07-16
medikoo/event-emitter2011552014-08-22
component/channel191202014-02-13
mixu/microee150212014-02-27
qawemlilo/emitter142262013-12-10
substack/node-ordered-emitter132212013-07-11
godmodelabs/fwd121232013-03-12
ericz/EventEmitter11732013-02-08
fent/pauseable.js113202014-07-29
defunctzombie/dom-events101162013-11-20
bredele/emitter-queue100142014-04-07
postaljs/monopost.js92102013-02-04
addyosmani/polymer-eventemitter90152014-01-24
busterjs/bane81332013-11-23
fnando/emitter81162014-10-01
sakabako/paperboy71592014-10-01
Nicolab/node-ipc-events7042014-07-02
fent/node-eventyoshi70352014-07-29
yields/delegate-events7022013-11-06
feross/re-emitter61152014-07-23
dmotz/stream-snitch60132014-09-07
jhermsmeier/emitter.js60522014-05-19
hapijs/kilt51172014-09-29
1000ch/EventEmitter50232014-02-25
Raynos/eventemitter-light50202012-08-04
mcollina/patrun-emitter50262014-05-26
pgte/propagate50122014-01-30
jonnywyatt/eventsWithPromises42212014-08-26
oleics/node-caevents4292012-04-09
lelandtseng/EventEmitter41172013-10-19
petkaantonov/FastEmitter41292013-10-22
Alex-ray/concierge40332014-05-12
derekr/paganate40132014-04-17
gdi2290/angular-event-emitter40312014-07-19
maxponte/EventEmitter4072014-08-08
iwillwen/node_emitter3222012-03-10
IndigoUnited/js-events-emitter31732014-04-18
kamicane/emi3122012-03-06
olav/ee.js31212014-02-13
vesln/evts31142013-12-15
fent/node-newsemitter30102014-07-29
yields/buffer-events3042014-06-27
aconbere/evented22102010-10-27
shokai/event_emitter.js22392013-05-17
aluarosi/event0.js21102014-03-17
benjreinhart/node-event-emitter2152014-03-29
madimp/deferredEventEmitter2162012-05-13
pierrec/node-ev21132012-06-25
alexborisov/abNanoEvent2052013-11-12
apily/emitter20272014-06-19
eldargab/hooks-emitter2052013-03-27
ericelliott/clctr2082013-08-06
henrytseng/event-aggregator20142014-03-05
ksdlck/Emitterarchy2072012-01-18
pgte/boxed-emitter20112012-12-31
rubenv/angular-tiny-eventemitter2052014-07-25
ryanve/energy20362014-05-10
steerapi/ti-event-emitter2052011-12-29
tarunc/CollectionEventEmitter22022013-07-04
vinayakcs/eventEmitter20112014-08-25
anthonyshort/emitter-manager12122013-07-31
joaquimserafim/tiny-eventemitter1272014-03-26
B-Vladi/EventEmitter111112014-10-19
MatthewMueller/aemitter1182014-05-24
chrisdickinson/estate1172013-08-28
mccalltd/EventEmitter11492014-01-04
UsabilityDynamics/node-object-emitter10392014-08-30
asbjornenge/nanoemitter10102014-05-12
buunguyen/evtify1082014-03-09
cballou/jquery-eventemitter1062014-02-10
enricomarino/events1042011-10-31
erykpiast/angular-event-emitter1072014-08-26
floatdrop/after-event1092014-10-20
gummesson/evmit1022014-04-26
hden/Bacon.EventEmitter1052013-04-02
jaridmargolin/event-emitter.js1062014-08-20
jdarling/hyjack10282014-09-10
jharding/boomerang10132013-07-09
jimgswang/EventEmitter10442014-07-24
jkroso/dom-emitter10482013-08-29
jls/emitJS1092011-10-25
ksdlck/Emitting10142012-01-19
maxhoffmann/emitter10402014-08-20
npmcomponent/littlebitselectronics-EventEmitter2102902013-08-13
nrn/nee1042014-09-03
pete-otaqui/EventEmitter1072011-05-24
pgte/switch-emitter1092013-01-17
plediii/HevEmitter10922014-09-30
rosylilly/EventEmitter.js1052011-08-26
sjmulder/event-registrar1032012-07-20
smagch/sprite10102013-05-13
steelsojka/leafyjs10232014-06-08
xwcoder/EventEmitter1032014-09-14
Livefyre/event-emitter01292014-09-24
evilharlequin/matter0132014-07-25
ricardobeat/emmy0192014-10-02
thibauts/eventemitter0142014-06-25
AndreasMadsen/emitterpoint0012013-08-27
Havvy/after-events0012014-01-17
Kl0tl/events-emitter0042014-01-12
LingyuCoder/EventEmitter0072014-09-28
RangerMauve/mqtt-emitter0082014-09-07
Raynos/cached-events0012012-08-25
Raynos/multi-event0052012-08-10
STRML/forward-emitter0022014-06-30
SoftwareDevPro/EventEmitter.coffee0032013-11-28
Tom32i/event-emitter.js0092014-06-03
Wizcorp/events0052014-03-10
alanshaw/funce-emitter00102014-05-07
anchorjs/events00282013-06-20
bendrucker/emit-then00262014-10-11
bevacqua/contra.emitter0072014-09-21
beyo/events00102014-05-15
bmullan91/evt-emitter00142014-10-19
browser-modules/event-emitter0042014-07-20
brycebaril/eenano0022014-08-16
btknorr/emitter-all00142013-04-05
canvace/EventEmitter0072013-10-26
chrisdickinson/every0042013-02-19
chuckpreslar/broadcaster00222013-07-06
cookfront/EventEmitter0012014-07-19
coolbloke1324/emitter0032014-03-26
coverslide/mkee0082013-04-14
cybrown/SimpleEventEmitter0032013-07-08
darlanalves/EventEmitter00132014-10-11
devangpaliwal/eventemitter0022013-07-28
dfcreative/emmy00812014-10-15
dimik/EventEmitter0082013-09-28
edubskiy/events.emitter.js0022013-06-23
ericgj/logged-emitter0022013-05-22
esatterwhite/node-pattern-emitter00242014-05-08
eventEmitter/ee-event-emitter0072014-08-24
exfm/event-emitter0022012-09-07
fabiosantoscode/clientjs-event-emitter0022013-01-22
fnobi/EventEmitter00152014-08-12
fskreuz/MiniEvent0032013-09-04
gaborsar/MicroEventEmitter0062014-06-25
hachr/EventEmitter0022014-05-21
jamesvsnowden/emitter0092013-06-02
jbrumwell/jqevents0042012-12-05
jdpanderson/OrderedEventEmitter0032014-02-16
jillix/emitter00212014-08-13
joechee/EventEmitter-async0022014-09-27
kaerus-component/emitter00232014-05-10
kalachevmax/semantic.events0012014-06-22
kallaspriit/EventEmitter0022013-08-08
lakenen/eemitter0082014-06-26
madbook/easy-events0022014-01-23
marcello3d/node-listenable0012013-10-25
mateuspv/Events0092014-05-21
mercmobily/EventEmitterCollector00122013-11-23
mescoda/EventEmitter00252014-03-18
michaelrhodes/event-relay0052013-11-13
mpotra/events-async0052014-05-11
mvantil/FutureEventEmitter0032013-03-30
nathanfaucett/event_emitter00282014-10-19
nathanmacinnes/edifice0022014-04-28
neocoder/emmi0012013-08-23
nib-health-funds/forward-events0032014-07-14
niyazpk/EventEmitter00162014-02-08
oliverroick/SuperSimpleEvents00202014-10-12
pfraces-wip/pubsub0062013-02-15
primus/emits00132014-10-06
radubrehar/zemitter00112014-09-08
redrockethq/jetpack0042014-04-04
renra/event_emitter_js0012014-03-13
reu/event-emitter.js0042013-06-17
richRemer/scoped-event-emitter0042014-09-01
roderickObrist/event-emitter0012014-03-19
rpstewart/EventEmitter0082012-11-06
sergeyt/fogbus.io00232014-07-16
shiroyasha/Shiro-EventEmitter0072013-05-10
skerit/hawkevents0022014-06-18
sosnowski/event-emitter-ng0082013-02-11
stayradiated/signals00322014-03-23
supershabam/pevents00292013-12-04
thechriswalker/TriggerHappy0012012-09-28
theotheu/eventEmitter0012014-09-16
thiagoneves/event-emitter0032014-07-22
thomaswelton/bower-event-emitter00162013-10-24
tim-smart/node-superemitter0062014-06-19
tomasperezv/event-emitter0022013-10-20
tunderdomb/EventStation0022014-06-16
tvsudhir/EventEmitter00112014-07-30
yomotsu/PeriodicEventEmitter0012014-08-11
zaphod1984/eventEmitterDemux0082014-02-19

Keywords

FAQs

Package last updated on 08 May 2019

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc