29 lines
753 B
JavaScript
29 lines
753 B
JavaScript
|
import lift from "./lift.js";
|
||
|
import not from "./not.js";
|
||
|
/**
|
||
|
* Takes a function `f` and returns a function `g` such that if called with the same arguments
|
||
|
* when `f` returns a "truthy" value, `g` returns `false` and when `f` returns a "falsy" value `g` returns `true`.
|
||
|
*
|
||
|
* `R.complement` may be applied to any functor
|
||
|
*
|
||
|
* @func
|
||
|
* @memberOf R
|
||
|
* @since v0.12.0
|
||
|
* @category Logic
|
||
|
* @sig (*... -> *) -> (*... -> Boolean)
|
||
|
* @param {Function} f
|
||
|
* @return {Function}
|
||
|
* @see R.not
|
||
|
* @example
|
||
|
*
|
||
|
* const isNotNil = R.complement(R.isNil);
|
||
|
* R.isNil(null); //=> true
|
||
|
* isNotNil(null); //=> false
|
||
|
* R.isNil(7); //=> false
|
||
|
* isNotNil(7); //=> true
|
||
|
*/
|
||
|
|
||
|
var complement =
|
||
|
/*#__PURE__*/
|
||
|
lift(not);
|
||
|
export default complement;
|