mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 01:38:07 +08:00
Major update breaking changes: - ESLint 7.0.0 (https://eslint.org/docs/user-guide/migrating-to-7.0.0) now includes .eslint.rc.js in its list, which is fine for us. Other changes are not applicable for us. - eslint-plugin-mocha (https://github.com/lo1tuma/eslint-plugin-mocha/blob/master/CHANGELOG.md#700-may-13-2020) drops support for ESLint <7, but this CL updates to 7+. Other changes are not applicable for us. DISABLE_THIRD_PARTY_CHECK=Updating ESLint R=petermarshall@chromium.org Change-Id: I7760e084ef87f73a92f9ea4e075fb4c065047f5a Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2534873 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org>
42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
import _concat from "./internal/_concat.js";
|
|
import _curry2 from "./internal/_curry2.js";
|
|
import _reduce from "./internal/_reduce.js";
|
|
import map from "./map.js";
|
|
/**
|
|
* ap applies a list of functions to a list of values.
|
|
*
|
|
* Dispatches to the `ap` method of the second argument, if present. Also
|
|
* treats curried functions as applicatives.
|
|
*
|
|
* @func
|
|
* @memberOf R
|
|
* @since v0.3.0
|
|
* @category Function
|
|
* @sig [a -> b] -> [a] -> [b]
|
|
* @sig Apply f => f (a -> b) -> f a -> f b
|
|
* @sig (r -> a -> b) -> (r -> a) -> (r -> b)
|
|
* @param {*} applyF
|
|
* @param {*} applyX
|
|
* @return {*}
|
|
* @example
|
|
*
|
|
* R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]
|
|
* R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> ["tasty pizza", "tasty salad", "PIZZA", "SALAD"]
|
|
*
|
|
* // R.ap can also be used as S combinator
|
|
* // when only two functions are passed
|
|
* R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'
|
|
* @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]
|
|
*/
|
|
|
|
var ap =
|
|
/*#__PURE__*/
|
|
_curry2(function ap(applyF, applyX) {
|
|
return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {
|
|
return applyF(x)(applyX(x));
|
|
} : _reduce(function (acc, f) {
|
|
return _concat(acc, map(f, applyX));
|
|
}, [], applyF);
|
|
});
|
|
|
|
export default ap; |