Security News
Nightmares on npm: How Two Malicious Packages Facilitate Data Theft and Destruction
Our threat research team breaks down two malicious npm packages designed to exploit developer trust, steal your data, and destroy data on your machine.
Useful when we want to imply an asynchronous representation onto some non-promise object.
Having that target object can be combined into promise chains or async/await syntax. One use case would be turning a stream instance so it's also a promise.
npm install 2-thenable
Utility takes target
and promise
arguments. target
is object to be extended with then
, catch
and finally
methods.
While promise
is expected to be a native promise instance that reflects resolution which should be mapped onto target
Example of converting stream to thenable
const toThenable = require("2-thenable");
// Example of converting a simple utf8 string stream to thenable
toThenable(stream, new Promise((resolve, reject) => {
let result = '';
stream.on('error', reject);
stream.on('data', data => (result += data));
stream.on('end', () => resolve(result));
});
stream.then(result => {
console.log("Cumulated string data", result);
});
npm test
FAQs
Convert any object to thenable
The npm package 2-thenable receives a total of 896,679 weekly downloads. As such, 2-thenable popularity was classified as popular.
We found that 2-thenable 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.
Security News
Our threat research team breaks down two malicious npm packages designed to exploit developer trust, steal your data, and destroy data on your machine.
Security News
A senior white house official is urging insurers to stop covering ransomware payments, indicating possible stricter regulations to deter cybercrime.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.