Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@lightningchart/eventer
Advanced tools
Simple and fast event emitter library. Subscription is based on a unique Token, which can be used to unsubscribe from the topic.
The Eventer is used in LightningChart® JS charting library. https://www.lightningchart.com/
npm install --save @lightningchart/eventer
Online documentation is available at arction.github.io/eventer
import { Eventer } from '@lightningchart/eventer'
const eventer = new Eventer()
// new topic is created, handler is added as the first subscriber to the topic
const token1 = eventer.on('topic1', () => console.log('I am called from topic1'))
// 'topic1' already exists, so new listener is simply added to existing collection of handlers
const token2 = eventer.on('topic1', () => console.log('I am also called from topic1'))
// new collection of handlers is created for the second topic
// the function is added to it
eventer.on('topic2', () => console.log('I am called from topic2'))
eventer.emit('topic1')
// calls two functions which listen to the event
//
// outputs:
// I am called from topic1
// I am also called from topic1
eventer.emit('topic2')
// calls single functions which listen to the event
//
// outputs:
// I am called from topic2
// remove the second listener from the first topic by token
eventer.off(token2)
eventer.emit('topic1')
// calls single functions which listen to the event
//
// outputs:
// I am called from topic1
// remove all listeners from all topics
eventer.allOff()
eventer.emit('topic2')
// nothing happened, since all subscriptions were terminated
Subscribing to a topic is easy.
eventer.on('topic', ()=>{ console.log('Topic handler') })
Multiple subscriptions to a single topic can exist.
eventer.on('topic', ()=>{ console.log('Topic handler') })
eventer.on('topic2', ()=>{ console.log('Topic 2 handler') })
eventer.on('topic3', ()=>{ console.log('Topic 3 handler') })
You can unsubscribe from a single topic by using the Token returned by eventer when you subscribed to the topic.
const token = eventer.on('topic', ()=>{ console.log('Topic handler') })
eventer.off(token)
You can also unsubscibe all listeners from a topic.
eventer.topicOff('topic')
It is also possible to unsubscribe all topics and all listeners.
eventer.allOff()
Events can be emitted for a topic. The emit can contain 0 or more arguments that will be provided to the topic listeners.
eventer.emit('topic')
eventer.on('topic2', ( arg1, arg2 ) => console.log( arg1, arg2 ))
eventer.emit('topic2', 'Hello ', 'World')
The project is developed using TypeScript. Build system of the project heavily relies on Node.js. Dependencies are managed with npm, therefore, remember to run npm install before starting of anything else.
There are several npm scripts, which are used for development process:
Name | Command | Description |
---|---|---|
build | npm run build | run build system |
test | npm test | run tests and watch |
lint | npm run lint | run static analyzer and watch |
docs | npm run docs | generate typedoc documentation |
ci:test | npm run ci:test | run tests once |
ci:lint | npm run ci:lint | run static analyzer once |
ci:watch | npm run ci:watch | run CI circle and watch |
[1.0.2] - 2022-09-21
FAQs
Simple and fast event emitter.
The npm package @lightningchart/eventer receives a total of 1,208 weekly downloads. As such, @lightningchart/eventer popularity was classified as popular.
We found that @lightningchart/eventer demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers 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
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.