
Product
Introducing Module Reachability: Focus on the Vulnerabilities That Matter
Module Reachability filters out unreachable CVEs so you can focus on vulnerabilities that actually matter to your application.
extended-emitter
Advanced tools
Everything you expect from require('events').EventEmitter
in both the browser and client, plus:
criteria
: use a sift expression to work on a subset of the events.allOff()
: removes all events from this emitter.emitter
: the internal emitter used, in case you need direct access.CommonJS
const { Emitter } = require('extended-emitter');
const emitter = new Emitter();
ES6 imports
import { Emitter } from 'extended-emitter';
const emitter = new Emitter();
you can now using mongo-style queries (supported by sift) to subscribe to specific events (in this context .once()
means meeting the criteria, not just firing an event of that type).
emitter.on('my_object_event', {
myObjectId : object.id
}, function(){
//do stuff here
});
// or
emitter.once('my_object_event', {
myObjectId : object.id,
myObjectValue : {
$gt : 20,
$lt : 40
}
}, function(){
//do stuff here
});
and there's also the addition of a when
function which can take ready-style functions, real promises or events, making it easy to delay or wait for a state, without resorting to chaining.
await emitter.when([$(document).ready, 'my-init-event', 'my-load-event']);
emitter.when([$(document).ready, 'my-init-event', 'my-load-event'], function(){
//do stuff
});
Often you want an object to implement emitters, and while it's easy enough to wrap them, why not just have that done for you and avoid the boilerplate?
emitter.onto(MyClass.prototype);
emitter.onto(MyInstance);
emitter.onto(MyObject);
or in the constructor:
(new Emitter()).onto(this);
Run the tests at the project root with:
npm run import-test
npm run require-test
Enjoy,
-Abbey Hawk Sparrow
FAQs
An emitter with expanded utility for node and the browser
The npm package extended-emitter receives a total of 6,167 weekly downloads. As such, extended-emitter popularity was classified as popular.
We found that extended-emitter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Product
Module Reachability filters out unreachable CVEs so you can focus on vulnerabilities that actually matter to your application.
Company News
Socket is bringing best-in-class reachability analysis into the platform — cutting false positives, accelerating triage, and cementing our place as the leader in software supply chain security.
Product
Socket is introducing a new way to organize repositories and apply repository-specific security policies.