New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@xmpp/events

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@xmpp/events - npm Package Compare versions

Comparing version 0.11.0 to 0.12.0

26

index.js

@@ -1,15 +0,15 @@

'use strict'
"use strict";
const timeout = require('./lib/timeout')
const delay = require('./lib/delay')
const TimeoutError = require('./lib/TimeoutError')
const promise = require('./lib/promise')
const EventEmitter = require('events')
const Deferred = require('./lib/Deferred')
const timeout = require("./lib/timeout");
const delay = require("./lib/delay");
const TimeoutError = require("./lib/TimeoutError");
const promise = require("./lib/promise");
const EventEmitter = require("events");
const Deferred = require("./lib/Deferred");
exports.EventEmitter = EventEmitter
exports.timeout = timeout
exports.delay = delay
exports.TimeoutError = TimeoutError
exports.promise = promise
exports.Deferred = Deferred
exports.EventEmitter = EventEmitter;
exports.timeout = timeout;
exports.delay = delay;
exports.TimeoutError = TimeoutError;
exports.promise = promise;
exports.Deferred = Deferred;

@@ -1,8 +0,8 @@

'use strict'
"use strict";
module.exports = function Deferred() {
this.promise = new Promise((resolve, reject) => {
this.resolve = resolve
this.reject = reject
})
}
this.resolve = resolve;
this.reject = reject;
});
};

@@ -1,10 +0,10 @@

'use strict'
"use strict";
module.exports = function delay(ms) {
let timeout
const promise = new Promise(resolve => {
timeout = setTimeout(resolve, ms)
})
promise.timeout = timeout
return promise
}
let timeout;
const promise = new Promise((resolve) => {
timeout = setTimeout(resolve, ms);
});
promise.timeout = timeout;
return promise;
};

@@ -1,29 +0,28 @@

'use strict'
"use strict";
const TimeoutError = require('./TimeoutError')
const TimeoutError = require("./TimeoutError");
// eslint-disable-next-line default-param-last
module.exports = function promise(EE, event, rejectEvent = 'error', timeout) {
module.exports = function promise(EE, event, rejectEvent = "error", timeout) {
return new Promise((resolve, reject) => {
let timeoutId
let timeoutId;
const cleanup = () => {
clearTimeout(timeoutId)
EE.removeListener(event, onEvent)
EE.removeListener(rejectEvent, onError)
}
clearTimeout(timeoutId);
EE.removeListener(event, onEvent);
EE.removeListener(rejectEvent, onError);
};
function onError(reason) {
reject(reason)
cleanup()
reject(reason);
cleanup();
}
function onEvent(value) {
resolve(value)
cleanup()
resolve(value);
cleanup();
}
EE.once(event, onEvent)
EE.once(event, onEvent);
if (rejectEvent) {
EE.once(rejectEvent, onError)
EE.once(rejectEvent, onError);
}

@@ -33,7 +32,7 @@

timeoutId = setTimeout(() => {
cleanup()
reject(new TimeoutError())
}, timeout)
cleanup();
reject(new TimeoutError());
}, timeout);
}
})
}
});
};

@@ -1,12 +0,11 @@

'use strict'
"use strict";
const TimeoutError = require('./TimeoutError')
const delay = require('./delay')
const TimeoutError = require("./TimeoutError");
const delay = require("./delay");
module.exports = function timeout(promise, ms) {
const promiseDelay = delay(ms)
const promiseDelay = delay(ms);
// eslint-disable-next-line unicorn/consistent-function-scoping
function cancelDelay() {
clearTimeout(promiseDelay.timeout)
clearTimeout(promiseDelay.timeout);
}

@@ -17,5 +16,5 @@

promiseDelay.then(() => {
throw new TimeoutError()
throw new TimeoutError();
}),
])
}
]);
};

@@ -1,8 +0,8 @@

'use strict'
"use strict";
module.exports = class TimeoutError extends Error {
constructor(message) {
super(message)
this.name = 'TimeoutError'
super(message);
this.name = "TimeoutError";
}
}
};

@@ -7,3 +7,3 @@ {

"bugs": "http://github.com/xmppjs/xmpp.js/issues",
"version": "0.11.0",
"version": "0.12.0",
"license": "ISC",

@@ -17,3 +17,3 @@ "keywords": [

"engines": {
"node": ">= 10.0.0",
"node": ">= 12.4.0",
"yarn": ">= 1.0.0"

@@ -25,5 +25,5 @@ },

"dependencies": {
"events": "^3.1.0"
"events": "^3.2.0"
},
"gitHead": "c0548a598826ae55cf195f296058b344064af7fd"
"gitHead": "75f7bdf7805dced03f616b66dc16e2a067b46480"
}

@@ -1,53 +0,55 @@

'use strict'
"use strict";
const test = require('ava')
const {promise} = require('..')
const EventEmitter = require('events')
const test = require("ava");
const { promise } = require("..");
const EventEmitter = require("events");
class Socket extends EventEmitter {
constructor(fn) {
super()
this.fn = fn
super();
this.fn = fn;
}
async connect() {
if (!this.fn) return
await Promise.resolve()
this.fn()
if (!this.fn) return;
await Promise.resolve();
this.fn();
}
}
test('resolves if "event" is emitted', async t => {
const value = {}
const socket = new Socket(function() {
this.emit('connect', value)
})
t.is(socket.listenerCount('error'), 0)
t.is(socket.listenerCount('connect'), 0)
socket.connect()
const p = promise(socket, 'connect')
t.is(socket.listenerCount('error'), 1)
t.is(socket.listenerCount('connect'), 1)
const result = await p
t.is(result, value)
t.is(socket.listenerCount('error'), 0)
t.is(socket.listenerCount('connect'), 0)
})
test('resolves if "event" is emitted', async (t) => {
const value = {};
// eslint-disable-next-line func-names
const socket = new Socket(function () {
this.emit("connect", value);
});
t.is(socket.listenerCount("error"), 0);
t.is(socket.listenerCount("connect"), 0);
socket.connect();
const p = promise(socket, "connect");
t.is(socket.listenerCount("error"), 1);
t.is(socket.listenerCount("connect"), 1);
const result = await p;
t.is(result, value);
t.is(socket.listenerCount("error"), 0);
t.is(socket.listenerCount("connect"), 0);
});
test('rejects if "errorEvent" is emitted', t => {
const error = new Error('foobar')
const socket = new Socket(function() {
this.emit('error', error)
})
t.is(socket.listenerCount('error'), 0)
t.is(socket.listenerCount('connect'), 0)
socket.connect()
const p = promise(socket, 'connect', 'error')
t.is(socket.listenerCount('error'), 1)
t.is(socket.listenerCount('connect'), 1)
return p.catch(err => {
t.is(err, error)
t.is(socket.listenerCount('error'), 0)
t.is(socket.listenerCount('connect'), 0)
})
})
test('rejects if "errorEvent" is emitted', (t) => {
const error = new Error("foobar");
// eslint-disable-next-line func-names
const socket = new Socket(function () {
this.emit("error", error);
});
t.is(socket.listenerCount("error"), 0);
t.is(socket.listenerCount("connect"), 0);
socket.connect();
const p = promise(socket, "connect", "error");
t.is(socket.listenerCount("error"), 1);
t.is(socket.listenerCount("connect"), 1);
return p.catch((err) => {
t.is(err, error);
t.is(socket.listenerCount("error"), 0);
t.is(socket.listenerCount("connect"), 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