mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-02 16:17:50 +00:00
Cleanup _.curry.
Former-commit-id: edcc8b2b4c67fa04d8c67e7b7fcdd071c4155e89
This commit is contained in:
@@ -1445,6 +1445,7 @@
|
||||
var isBind = bitmask & 1,
|
||||
isBindKey = bitmask & 2,
|
||||
isCurry = bitmask & 4,
|
||||
isPartial = bitmask & 8,
|
||||
isPartialRight = bitmask & 16;
|
||||
|
||||
if (!isBindKey && !isFunction(func)) {
|
||||
@@ -1458,10 +1459,10 @@
|
||||
if (isCurry && !(bindData[1] & 4)) {
|
||||
bindData[5] = arity;
|
||||
}
|
||||
if (partialArgs) {
|
||||
if (isPartial) {
|
||||
push.apply(bindData[2] || (bindData[2] = []), partialArgs);
|
||||
}
|
||||
if (partialRightArgs) {
|
||||
if (isPartialRight) {
|
||||
push.apply(bindData[3] || (bindData[3] = []), partialRightArgs);
|
||||
}
|
||||
bindData[1] |= bitmask;
|
||||
|
||||
14
test/test.js
14
test/test.js
@@ -679,6 +679,20 @@
|
||||
equal(curried(1, 2, 3), 6);
|
||||
});
|
||||
|
||||
test('should work with partial methods', function() {
|
||||
function func(a, b, c) {
|
||||
return a + b + c;
|
||||
}
|
||||
|
||||
var curried = _.curry(func),
|
||||
a = _.partial(curried, 1),
|
||||
b = _.partialRight(a, 3),
|
||||
c = _.partialRight(a(2), 3);
|
||||
|
||||
equal(b(2), 6);
|
||||
equal(c(), 6);
|
||||
});
|
||||
|
||||
test('should not alter the `this` binding', function() {
|
||||
function func(a, b, c) {
|
||||
return this[a] + this[b] + this[c];
|
||||
|
||||
Reference in New Issue
Block a user