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.
@async-generators/from-emitter
Advanced tools
inform an iterable when it is prematurely terminated by the consumer.
yarn add @async-generators/from-emitter
This package's main
entry points to a commonjs
dist.
The module
entry points to a es2015
module dist. Both require native async-generator support, or be down-compiled with a webpack loader.
from-emitter()
subscribes to onNext
, onError
and onDone
and returns a (one-time) iterable-sequence of captured events. When the event listeners are called, the arguments are passed to selectNext(...args)
and selectError(...args)
to pick a value (defaults to the first argument). If the sequence completes (onDone
), or the consumer terminates early, the event listeners are detached from the emitter and the iterable becomes disposed and cannot be iterated again.
source must be a node-js compliment event emitter, with the addListener
and removeListener
methods.
example.js
const fromEmitter = require('./dist/commonjs').default;
const {EventEmitter} = require('events');
async function main() {
let events = new EventEmitter();
let source = fromEmitter(events, "data", "error", "close");
let consumer = new Promise(async done => {
for await (let item of source) {
console.log(item);
}
console.log("...and we're done!")
done();
});
events.emit("data", 1);
events.emit("data", 2);
events.emit("data", 3);
events.emit("data", 4);
events.emit("close");
await consumer;
}
main().catch(console.log);
Execute with the latest node.js:
node example.js // or...
node --harmony-async-iteration example.js
output:
1
2
3
4
...and we're done!
This library is fully typed and can be imported using:
import fromEmitter from '@async-generators/from-emitter');
It is also possible to directly execute your properly configured typescript with ts-node:
ts-node --harmony_async_iteration example.ts
FAQs
convert an event-emitter to an async-iterable
The npm package @async-generators/from-emitter receives a total of 249 weekly downloads. As such, @async-generators/from-emitter popularity was classified as not popular.
We found that @async-generators/from-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.
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.