File: uncurry.js

package info (click to toggle)
node-array-from 2.1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 644 kB
  • sloc: makefile: 2
file content (21 lines) | stat: -rw-r--r-- 432 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * @module 1-liners/uncurry
 *
 * @description
 *
 * Uncurry a function – collapse 2 lists of parameters into one.
 *
 * @example
 *
 *  import uncurry from '1-liners/uncurry';
 *
 *  const f = (a) => (b) => a + b;
 *  const fβ = uncurry(f);
 *  fβ(1, 2);  // => 3
 *
 *  const g = (a) => (b, c) => a + b + c
 *  const gβ = uncurry(g);
 *  gβ(1, 2, 3);  // => 6
 *
 */
export default (f) => (a, ...rest) => f(a)(...rest);