Skip to content

Instantly share code, notes, and snippets.

@Anna-Myzukina
Last active September 17, 2018 15:47
Show Gist options
  • Save Anna-Myzukina/9a7cb3c29bbadfee2518e070c6307bf3 to your computer and use it in GitHub Desktop.
Save Anna-Myzukina/9a7cb3c29bbadfee2518e070c6307bf3 to your computer and use it in GitHub Desktop.
Cyrrying in js
function identity(args) {
return args;
}
module.exports = identity;
function binary(first, second){
return first + second;
}
module.exports = binary;
function unary(inputFirst) {
return function unaryNew(inputSecond) {
return inputFirst + inputSecond;
}
}
module.exports = unary;
var sum = 0;
function func(argFirst) {
if (argFirst === undefined) {
var result = sum;
sum = null;
return result;
} else {
sum += argFirst;
return func;
}
};
module.exports = func;
var callAndApply = {
caller: function (object, method, nameArg, ageArg, tShirtSizeArg) {
//your code
method.call(object, nameArg, ageArg, tShirtSizeArg)
},
applier: function (object, method, argumentsArr) {
//your code
method.apply(object, argumentsArr);
}
};
module.exports = callAndApply;
function abc(fn) {
var arr = fn.length;
return function curried(...args) {
if (args.length < arr) {
return (...nextArgs) =>
curried(...args, ...nextArgs);
}
return fn(...args)
};
}
module.exports = abc;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment