chickencurry
Advanced tools
Comparing version 0.3.0 to 0.4.0
45
index.js
var slice = Array.prototype.slice, | ||
__; | ||
function forEach(arr, fn) { | ||
for (var i = 0; i < arr.length; i++) { | ||
fn(i, arr[i]); | ||
} | ||
} | ||
function map(arr, fn) { | ||
var newArr = []; | ||
forEach(arr, function(key, item) { | ||
newArr.push(fn(key, item)); | ||
}); | ||
return newArr; | ||
} | ||
function mergeArguments(args, curryArgs) { | ||
var mergedArgs = slice.call(curryArgs), | ||
iArgs = 0; | ||
var mergedArgs = []; | ||
for (var i = 0; i < curryArgs.length; i++) { | ||
if (curryArgs[i] === __) { | ||
mergedArgs[i] = args[iArgs]; | ||
iArgs = iArgs + 1; | ||
mergedArgs = map(curryArgs, function(key, item) { | ||
if (item === __) { | ||
return args.shift() | ||
} else { | ||
return item; | ||
} | ||
} | ||
return mergedArgs.concat(slice.call(args, iArgs)); | ||
}); | ||
return mergedArgs.concat(args); | ||
} | ||
@@ -19,7 +36,9 @@ | ||
var count = 0; | ||
for (var i = 0; i < args.length; i++) { | ||
if (args[i] !== __) { | ||
forEach(args, function(key, item) { | ||
if (item !== __) { | ||
count = count + 1; | ||
} | ||
} | ||
}); | ||
return count; | ||
@@ -38,6 +57,6 @@ } | ||
} | ||
} | ||
}; | ||
} | ||
module.exports = function(fn) { | ||
module.exports = function curry(fn) { | ||
var curryArgs = slice.call(arguments, 1); | ||
@@ -44,0 +63,0 @@ |
{ | ||
"name": "chickencurry", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "Add some chicken curry to your functions", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -5,3 +5,2 @@ var curry = require('./index.js'), | ||
function namedFunction(name) {} | ||
describe('chickencurry', function() { | ||
@@ -75,2 +74,3 @@ var obj = {}, add, join; | ||
var joinCurry = curry(join); | ||
var joinDot = curry(join, '.'); | ||
@@ -90,3 +90,5 @@ expect(addCurry).to.be.a('function'); | ||
expect(joinCurry(curry.__, '_', 'chicken')('-')).to.equal('-chicken_'); | ||
expect(joinDot('.')('chicken')).to.equal('.chicken.'); | ||
expect(joinDot('.', 'chicken')).to.equal('.chicken.'); | ||
}); | ||
}); |
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
7321
128