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

xprezzo-on-finished

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xprezzo-on-finished - npm Package Compare versions

Comparing version 1.1.0 to 1.1.1

lib/ee-first.js

94

index.js

@@ -10,16 +10,8 @@ /*!

/**
* Module exports.
* @public
*/
module.exports = onFinished
module.exports.isFinished = isFinished
/**
* Module dependencies.
* @private
*/
const __queue__ = new WeakMap()
const first = require('./lib/ee-first')
var first = require('ee-first')
/**

@@ -31,3 +23,3 @@ * Variables.

/* istanbul ignore next */
var defer = typeof setImmediate === 'function'
const defer = typeof setImmediate === 'function'
? setImmediate

@@ -37,24 +29,2 @@ : function (fn) { process.nextTick(fn.bind.apply(fn, arguments)) }

/**
* Invoke callback when the response has finished, useful for
* cleaning up resources afterwards.
*
* @param {object} msg
* @param {function} listener
* @return {object}
* @public
*/
function onFinished (msg, listener) {
if (isFinished(msg) !== false) {
defer(listener, null, msg)
return msg
}
// attach the listener to the message
attachListener(msg, listener)
return msg
}
/**
* Determine if message is already finished.

@@ -68,3 +38,3 @@ *

function isFinished (msg) {
var socket = msg.socket
const socket = msg.socket

@@ -94,5 +64,4 @@ if (typeof msg.finished === 'boolean') {

function attachFinishedListener (msg, callback) {
var eeMsg
var eeSocket
var finished = false
let eeSocket
let finished = false

@@ -108,3 +77,3 @@ function onFinish (error) {

// finished on first message event
eeMsg = eeSocket = first([[msg, 'end', 'finish']], onFinish)
const eeMsg = eeSocket = first([[msg, 'end', 'finish']], onFinish)

@@ -146,3 +115,3 @@ function onSocket (socket) {

function attachListener (msg, listener) {
var attached = msg.__onFinished
let attached = msg.__onFinished

@@ -154,4 +123,5 @@ // create a private single listener with queue

}
attached.queue.push(listener)
const queue = __queue__.get(attached)
queue.push(listener)
__queue__.set(attached, queue)
}

@@ -169,15 +139,13 @@

function listener (err) {
const queue = __queue__.get(listener)
if (msg.__onFinished === listener) msg.__onFinished = null
if (!listener.queue) return
if (!queue) return
var queue = listener.queue
listener.queue = null
for (var i = 0; i < queue.length; i++) {
__queue__.set(listener, null)
for (let i = 0; i < queue.length; i++) {
queue[i](err, msg)
}
}
__queue__.set(listener, [])
listener.queue = []
return listener

@@ -196,3 +164,3 @@ }

function patchAssignSocket (res, callback) {
var assignSocket = res.assignSocket
const assignSocket = res.assignSocket

@@ -207,1 +175,29 @@ if (typeof assignSocket !== 'function') return

}
/**
* Module exports.
* @public
*/
/**
* Invoke callback when the response has finished, useful for
* cleaning up resources afterwards.
*
* @param {object} msg
* @param {function} listener
* @return {object}
* @public
*/
module.exports = (msg, listener) => {
if (isFinished(msg) !== false) {
defer(listener, null, msg)
return msg
}
// attach the listener to the message
attachListener(msg, listener)
return msg
}
module.exports.isFinished = isFinished
{
"name": "xprezzo-on-finished",
"description": "Execute a callback when a request closes, finishes, or errors",
"version": "1.1.0",
"version": "1.1.1",
"author": "Ben Ajenoui <info@seohero.io>",
"license": "MIT",
"repository": "xprezzo/xprezzo-on-finished",
"dependencies": {
"ee-first": "1.1.1"
},
"dependencies": {},
"devDependencies": {
"eslint": "7.8.1",
"eslint": "7.11.0",
"eslint-config-standard": "14.1.1",
"eslint-plugin-import": "2.22.0",
"eslint-plugin-import": "2.22.1",
"eslint-plugin-markdown": "1.0.2",

@@ -19,4 +17,4 @@ "eslint-plugin-node": "11.1.0",

"eslint-plugin-standard": "4.0.1",
"mocha": "8.1.3",
"nyc": "15.0.1"
"mocha": "8.2.0",
"nyc": "15.1.0"
},

@@ -27,2 +25,3 @@ "engines": {

"files": [
"lib/",
"HISTORY.md",

@@ -29,0 +28,0 @@ "LICENSE",

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