UNPKG

named-curry

Version:

A curry for functions taking a hash of named arguments

18 lines (15 loc) 394 B
'use strict' var objectAssign = require('object-assign') module.exports = function namedCurry (fn, ks) { return (function ncHelper (o) { return function (o2) { var obj = objectAssign({}, o, o2) return check(ks, Object.keys(obj)) ? fn(obj) : ncHelper(obj) } })({}) } var check = function (a1, a2) { return a1.every(function (a) { return a2.indexOf(a) > -1 }) }