Curry for named arguments.
var ncurry = require('ncurry')
const foo = ncurry(
['a', 'b', 'c'],
({a, b, c}) =>
a + b + c)
foo({ a: 1 })({ b: 2, c: 3 }) // 6
var ncurry = require('ncurry')
const foo = ncurry(
['a', 'c'],
({a, b, c}) =>
a + b + c)
foo({ a: 1 })({ b: 2, c: 3 }) // 6
foo({ a: 1 })({ c: 3 }) // 4
const ncurry = require('ncurry')
const { partial } = require('lodash/fp')
const foo = ncurry(
['a', 'c'],
({a, b, c}) =>
a + b + c)
const fooabc = partial(foo)([{ a: 1, b: 2, c: 3 }])
fooabc() // 7