Files
react-native-devtools-frontend/node_modules/ramda/es/thunkify.js
T
Jack Franklin 8b9aa2fca6 Prefer eslint-mocha for linting .only in tests
DISABLE_THIRD_PARTY_CHECK=new npm module causes package-lock change

We can get rid of a custom script and use ESLint for these rules.

Additionally this means editors will highlight the issue in the editor.

Change-Id: I552b52e7f07b4e7430b3f685dbc3b5fad36ffff2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2052167
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
2020-02-12 18:12:22 +00:00

30 lines
927 B
JavaScript

import curryN from './curryN.js';
import _curry1 from './internal/_curry1.js';
/**
* Creates a thunk out of a function. A thunk delays a calculation until
* its result is needed, providing lazy evaluation of arguments.
*
* @func
* @memberOf R
* @category Function
* @sig ((a, b, ..., j) -> k) -> (a, b, ..., j) -> (() -> k)
* @param {Function} fn A function to wrap in a thunk
* @return {Function} Expects arguments for `fn` and returns a new function
* that, when called, applies those arguments to `fn`.
* @see R.partial, R.partialRight
* @example
*
* R.thunkify(R.identity)(42)(); //=> 42
* R.thunkify((a, b) => a + b)(25, 17)(); //=> 42
*/
var thunkify = /*#__PURE__*/_curry1(function thunkify(fn) {
return curryN(fn.length, function createThunk() {
var fnArgs = arguments;
return function invokeThunk() {
return fn.apply(this, fnArgs);
};
});
});
export default thunkify;