
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
MyQueue is a queuing system used to make functions run sequentially or in parallel
Esponjosin With the help of Danny
npm i myqueue --save
If you want to be aware of what is happening internally you can log what the debug event emits
<Queue>.on('debug', console.log)
The add function is used to add the desired function to the waiting list
/**
* @param {Object} [obj] Object with the data of the function
* @param {...any} args Arguments to be given to the function
*/
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
// Normal
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
// Emitting an event when the task is complete
const observer = new (require('events'));
observer.on('test', console.log)
Queue.Add({
fun: log,
emitter: observer,
event: 'test',
argsToEmit: 'NodeJS'
}, 'Hello', 'World');
/**
Expected Promise Output
{<Function> response}
*/
The slice function is used to remove a waiting function from the queue
/**
* @param {Number} [index] Index in which you want to delete
*/
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.Add({
fun: log
}, 'Hello', 'World');
Queue.Slice(1)
/**
Expected Promise Output
{<Boolean>}
*/
The function pauses for the queue indefinitely until it is reactivated with the function resume
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.Pause()
/**
Expected Promise Output
{<Boolean>}
*/
The resume function reactivates the queue
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.Resume()
/**
Expected Promise Output
{<Boolean>}
*/
The allQueue function returns an array with all the tasks that are waiting
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.allQueue()
/**
Expected Promise Output
{<Array>}
*/
The Clear function removes the entire queue
// Javascript
const Queue = new (require('myqueue'))();
// Typescript
import MyQueue from 'myqueue';
const Queue: MyQueue = new MyQueue();
Queue.Add({
fun: log
}, 'Hello', 'World');
function log(...args) {
console.log(...args);
};
Queue.Clear()
/**
Expected Promise Output
{<Array>}
*/
FAQs
MyQueue is a queuing system used to make functions run sequentially or in parallel
We found that myqueue 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.