
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
@dkx/event-dispatcher
Advanced tools
Event dispatcher for node.js
Dependencies:
reflect-metadata
with npm:
$ npm install --save @dkx/event-dispatcher
or with yarn:
$ yarn add @dkx/event-dispatcher
Events should be small value object classes implementing the Event
interface.
import {Event} from '@dkx/event-dispatcher';
class UserUpdatedEvent implements Event
{
constructor(
public readonly user: User,
public readonly changes: any,
) {}
}
Subscribers are classes which contains subscriptions to defined events. They should implement the Subscriber
interface.
import {Subscriber, Subscribe} from '@dkx/event-dispatcher';
import {UserUpdatedEvent} from './user-updated-event';
class UserUpdatedEmailNotification implements Subscriber
{
@Subscribe()
public onUserUpdated(event: UserUpdatedEvent): void
{
console.log(event);
// todo send email
}
}
Event to which the subscriber should subscribe is taken from method argument type (event: UserUpdatedEvent
).
Subscription method can be also async
and return Promise
.
import {EventDispatcher} from '@dkx/event-dispatcher';
import {UserUpdatedEvent} from './user-updated-event';
import {UserUpdatedEmailNotification} from './user-updated-email-notification';
// create and register first subscriber
const events = new EventDispatcher;
events.addSubscriber(new UserUpdatedEmailNotification);
// dispatch event
events.dispatch(new UserUpdatedEvent(user, {}));
FAQs
Event dispatcher for node.js
We found that @dkx/event-dispatcher 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
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.