Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

adhere

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

adhere - npm Package Compare versions

Comparing version 1.0.2 to 1.1.0

86

adhere.js

@@ -1,6 +0,6 @@

module.exports = adhere
function adhere (method, wrapper) {
var adherence
module.exports = function (method, additional, f) {
if (arguments.length == 2) {
f = additional
additional = 0
}
// Preserving arity costs next to nothing; the call to `execute` in

@@ -10,65 +10,17 @@ // these functions will be inlined. The airty function itself will never

// dear user, but it will be compiled.
switch (method.length) {
case 0:
adherence = function () {
var vargs = new Array
for (var i = 0, I = arguments.length; i < I; i++) {
vargs.push(arguments[i])
}
wrapper(this, vargs)
}
break
case 1:
adherence = function (one) {
var vargs = new Array
for (var i = 0, I = arguments.length; i < I; i++) {
vargs.push(arguments[i])
}
wrapper(this, vargs)
}
break
case 2:
adherence = function (one, two) {
var vargs = new Array
for (var i = 0, I = arguments.length; i < I; i++) {
vargs.push(arguments[i])
}
wrapper(this, vargs)
}
break
case 3:
adherence = function (one, two, three) {
var vargs = new Array
for (var i = 0, I = arguments.length; i < I; i++) {
vargs.push(arguments[i])
}
wrapper(this, vargs)
}
break
case 4:
adherence = function (one, two, three, four) {
var vargs = new Array
for (var i = 0, I = arguments.length; i < I; i++) {
vargs.push(arguments[i])
}
wrapper(this, vargs)
}
break
default:
// Avert your eyes if you're squeamish.
// todo: starting to feel like this is all that is needed.
var args = []
for (var i = 0, I = method.length; i < I; i++) {
args[i] = '_' + i
}
var adherence = (new Function('wrapper', ' \n\
return function (' + args.join(',') + ') { \n\
var vargs = new Array \n\
for (var i = 0, I = arguments.length; i < I; i++) { \n\
vargs.push(arguments[i]) \n\
} \n\
wrapper(this, vargs) \n\
} \n\
'))(wrapper)
// Avert your eyes if you're squeamish.
var args = []
for (var i = 0, I = method.length + additional; i < I; i++) {
args[i] = '_' + i
}
var adherence = (new Function('f', ' \n\
return function (' + args.join(',') + ') { \n\
var vargs = new Array \n\
for (var i = 0, I = arguments.length; i < I; i++) { \n\
vargs.push(arguments[i]) \n\
} \n\
f(this, vargs) \n\
} \n\
'))(f)

@@ -75,0 +27,0 @@ adherence.toString = function () { return method.toString() }

{
"name": "adhere",
"version": "1.0.2",
"version": "1.1.0",
"description": "Wrap methods preserving arity.",

@@ -5,0 +5,0 @@ "keywords":

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