Comparing version 1.2.0 to 1.2.1
@@ -0,1 +1,3 @@ | ||
var builders = [] | ||
module.exports = function (method, additional, f) { | ||
@@ -12,15 +14,21 @@ if (arguments.length == 2) { | ||
// Avert your eyes if you're squeamish. | ||
var args = [] | ||
for (var i = 0, I = method.length + additional; i < I; i++) { | ||
args[i] = '_' + i | ||
while (builders.length < method.length + additional + 1) { | ||
var args = [] | ||
for (var i = 0, I = builders.length; i < I; i++) { | ||
args[i] = '_' + i | ||
} | ||
var builder = (new Function('', ' \n\ | ||
return 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\ | ||
} \n\ | ||
'))() | ||
builders.push(builder) | ||
} | ||
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) | ||
var adherence = builders[method.length + additional](f) | ||
@@ -27,0 +35,0 @@ adherence.toString = function () { return method.toString() } |
{ | ||
"name": "adhere", | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"description": "Wrap methods preserving arity.", | ||
@@ -23,3 +23,3 @@ "keywords": | ||
{ | ||
"proof": "3.0.x" | ||
"proof": "5.0.x" | ||
}, | ||
@@ -26,0 +26,0 @@ "main": "adhere", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4587
33