Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
glob-events
Advanced tools
Event emitter with glob support on event names, for node and the browser
*
and **
)*
and **
)npm install glob-events
Use Browserify to create a standalone file.
var Emitter = require('glob-events').Emitter;
var emitter = new Emitter();
Emitter([opts])
: Constructor function, accepting these options:
reverse
: Whether to invoke listeners in reverse insertion order.
Defaults to false
.addEvent
: The event to fire when new listeners are added. Defaults to
"newListener"
.removeEvent
: The event to fire when listeners are removed. Defaults to
"removeListener"
.internalEvents
: An array of internal events. Listeners that are
registered for internal events are not invoked when emitting *
. The
newListener
, removeListener
and "error"
events are always internal.internalEmitter
: An emitter to use for internal events. Defaults to
this
toScope(args[, emitter])
: Converts the given arguments array into a scope
object that can be used with invoke
. If an emitter
is given, it is added
to the scope object.The constructor opts
are passed to the glob-store constructor.
emit(event[, ...])
: Invokes all listeners registered for the given event
with the optional arguments. Matching rules are applied on the event name as
described in the glob-tree match expressions.addListener(event, fn)
/ on(event, fn)
: Registers a listener for an eventonce(event, fn)
: Registers a listener for an event that is automatically
removed on the first invocationremoveListener(event, fn)
: Unregisters a listener for an eventremoveAllListeners([event])
: Unregisters all listeners, or all listeners
for the given event. Matching rules are not applied.removeMatchingListeners(event)
: Unregisters all listeners matching the
given event name as described in the glob-tree match expressions.listeners([event][, options])
: Returns all listeners, or all listeners
for the given event. Matching rules are applied on the event name as
described in the glob-tree match expressions.iterator([event][, options])
: Exposes the iterator used to retrieve all
listeners, or all listeners for a given event. Each iterator entry has these
properties:
event
: The event name that was used to register the functionfn
: The registered function. Note: When using once
, this
is not the same as the registered function.orig
: The original registered function, only available for
entries that where added with once
.scope
: The scope to use when invoking the function.invoke(iterator, scope)
: Invokes the functions returned by an iterator on
the given scope
with the arguments from scope.args
. This function is
internally used by emit
. If a listener throws, emitError
is used to emit
an error event.isInternalEvent(event)
: Returns true
if the given event is an internal
event. These are the "error" event, the add and remove events and the
configured internal events.emitError(error, cause)
: Emits an "error"
event with the given error as
the only argument. If cause
is given, it is accessible in error listeners
via this.cause
. A cause object should have these entries:
- event
: The event that caused the exception
- fn
: The function that threw the exception
- scope
: The scope the function was executed with
- args
: The arguments that where passed to the functionThe options
argument can have these properties:
matchers
: Emit to matchers, defaults to true
listeners
: Emit to listeners, defaults to true
The first argument passed to emit
can be an object with an event
property
and any of the above options.
Listeners are invoked with a special scope object. If an object is passed to
emit
as the event (see Options), that object is used as the scope object.
The scope object always has these properties:
event
: The event that was emittedargs
: The arguments that where passed after the event name.emitter
: The event emitter instanceIt is also possible to bind individual listeners to specific scope objects:
emitter.addListener({
event : 'some.event',
scope : this
}, function () { ... });
newListener
: Emitted by addListener
, on
and once
with the event name
and the new listener function. Matchers will not receive this event.removeListener
: Emitted by removeListener
and removeAllListeners
with
the event name and the removed listener function. Matchers will not receive
this event.error
: Emitted by emit
if a listener throws an exception. The only
argument is the caught exception. The original event's scope is exposed on
this.cause
with these properties:
event
: The event that caused the exceptionfn
: The function that threw the exceptionscope
: The scope the function was executed withargs
: The arguments that where passed to the functionMIT
1.6.0
emitError
FAQs
Event emitter with glob support on event names
The npm package glob-events receives a total of 5 weekly downloads. As such, glob-events popularity was classified as not popular.
We found that glob-events 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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.