Socket
Socket
Sign inDemoInstall

p-event

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

p-event - npm Package Compare versions

Comparing version 2.3.1 to 3.0.0

index.d.ts

64

index.js

@@ -25,7 +25,8 @@ 'use strict';

const ret = new Promise((resolve, reject) => {
options = Object.assign({
options = {
rejectionEvents: ['error'],
multiArgs: false,
resolveImmediately: false
}, options);
resolveImmediately: false,
...options
};

@@ -96,3 +97,3 @@ if (!(options.count >= 0 && (options.count === Infinity || Number.isInteger(options.count)))) {

module.exports = (emitter, event, options) => {
const pEvent = (emitter, event, options) => {
if (typeof options === 'function') {

@@ -102,10 +103,10 @@ options = {filter: options};

options = Object.assign({}, options, {
options = {
...options,
count: 1,
resolveImmediately: false
});
};
const arrayPromise = multiple(emitter, event, options);
const promise = arrayPromise.then(array => array[0]);
const promise = arrayPromise.then(array => array[0]); // eslint-disable-line promise/prefer-await-to-then
promise.cancel = arrayPromise.cancel;

@@ -116,2 +117,5 @@

module.exports = pEvent;
module.exports.default = pEvent;
module.exports.multiple = multiple;

@@ -127,8 +131,9 @@

options = Object.assign({
options = {
rejectionEvents: ['error'],
resolutionEvents: [],
limit: Infinity,
multiArgs: false
}, options);
multiArgs: false,
...options
};

@@ -147,4 +152,7 @@ const {limit} = options;

},
next() {
return Promise.resolve({done: true, value: undefined});
async next() {
return {
done: true,
value: undefined
};
}

@@ -154,7 +162,5 @@ };

let isLimitReached = false;
const {addListener, removeListener} = normalizeEmitter(emitter);
let done = false;
let isDone = false;
let error;

@@ -165,2 +171,3 @@ let hasPendingError = false;

let eventCount = 0;
let isLimitReached = false;

@@ -193,3 +200,3 @@ const valueHandler = (...args) => {

const cancel = () => {
done = true;
isDone = true;
for (const event of events) {

@@ -259,6 +266,9 @@ removeListener(event, valueHandler);

},
next() {
async next() {
if (valueQueue.length > 0) {
const value = valueQueue.shift();
return Promise.resolve({done: done && valueQueue.length === 0 && !isLimitReached, value});
return {
done: isDone && valueQueue.length === 0 && !isLimitReached,
value
};
}

@@ -268,7 +278,10 @@

hasPendingError = false;
return Promise.reject(error);
throw error;
}
if (done) {
return Promise.resolve({done: true, value: undefined});
if (isDone) {
return {
done: true,
value: undefined
};
}

@@ -278,7 +291,10 @@

},
return(value) {
async return(value) {
cancel();
return Promise.resolve({done, value});
return {
done: isDone,
value
};
}
};
};
{
"name": "p-event",
"version": "2.3.1",
"version": "3.0.0",
"description": "Promisify an event by waiting for it to be emitted",

@@ -13,9 +13,10 @@ "license": "MIT",

"engines": {
"node": ">=6"
"node": ">=8"
},
"scripts": {
"test": "xo && ava"
"test": "xo && ava && tsd-check"
},
"files": [
"index.js"
"index.js",
"index.d.ts"
],

@@ -49,6 +50,8 @@ "keywords": [

"devDependencies": {
"@types/node": "^11.9.5",
"ava": "^1.2.1",
"delay": "^4.1.0",
"tsd-check": "^0.3.0",
"xo": "^0.24.0"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc