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 (35 lines) | stat: -rw-r--r-- 724 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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"use strict";

exports.__esModule = true;
/**
 * @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
 *
 */

exports["default"] = function (f) {
  return function (a) {
    for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      rest[_key - 1] = arguments[_key];
    }

    return f(a).apply(undefined, rest);
  };
};

module.exports = exports["default"];