just-partial-it
Advanced tools
Comparing version 1.1.23 to 2.0.0
17
index.js
module.exports = partial; | ||
/* | ||
var cubedRoot = partial(Math.pow, _, 1/3); | ||
cubedRoot(10).toFixed(1); // 56.7 | ||
cubedRoot(35).toFixed(1); // 16.2 | ||
*/ | ||
const cubedRoot = partial(Math.pow, _, 1/3); | ||
cubedRoot(64); // 4 | ||
const getRoot = partial(Math.pow, 64); | ||
getRoot(1/2); // 8 | ||
*/ | ||
function partial(fn /*, arg1, arg2 etc */) { | ||
@@ -15,9 +17,10 @@ var partialArgs = [].slice.call(arguments, 1); | ||
return function () { | ||
var argIndex = 0, derivedArgs = []; | ||
var args = [].slice.call(arguments); | ||
var derivedArgs = []; | ||
for (var i = 0; i < partialArgs.length; i++) { | ||
var thisPartialArg = partialArgs[i]; | ||
derivedArgs[i] = thisPartialArg === undefined ? arguments[argIndex++] : thisPartialArg; | ||
derivedArgs[i] = thisPartialArg === undefined ? args.shift() : thisPartialArg; | ||
} | ||
return fn.apply(this, derivedArgs); | ||
return fn.apply(this, derivedArgs.concat(args)); | ||
}; | ||
} |
{ | ||
"name": "just-partial-it", | ||
"version": "1.1.23", | ||
"version": "2.0.0", | ||
"description": "return a partial function", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
1485
22