mirror of
https://github.com/swc-project/swc.git
synced 2024-12-22 13:11:31 +03:00
29 lines
859 B
TypeScript
29 lines
859 B
TypeScript
|
// Loaded from https://deno.land/x/ramda@v0.27.2/source/juxt.js
|
||
|
|
||
|
|
||
|
import _curry1 from './internal/_curry1.js';
|
||
|
import converge from './converge.js';
|
||
|
|
||
|
|
||
|
/**
|
||
|
* juxt applies a list of functions to a list of values.
|
||
|
*
|
||
|
* @func
|
||
|
* @memberOf R
|
||
|
* @since v0.19.0
|
||
|
* @category Function
|
||
|
* @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])
|
||
|
* @param {Array} fns An array of functions
|
||
|
* @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.
|
||
|
* @see R.applySpec
|
||
|
* @example
|
||
|
*
|
||
|
* const getRange = R.juxt([Math.min, Math.max]);
|
||
|
* getRange(3, 4, 9, -3); //=> [-3, 9]
|
||
|
* @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]
|
||
|
*/
|
||
|
var juxt = _curry1(function juxt(fns) {
|
||
|
return converge(function() { return Array.prototype.slice.call(arguments, 0); }, fns);
|
||
|
});
|
||
|
export default juxt;
|