and
a → b → a | b
Added in v0.1.0
Returns the first argument if it is falsy, otherwise the second argument. Acts as the boolean and
statement if both inputs are Boolean
s.
R.and(true, true); //=> true
R.and(true, false); //=> false
R.and(false, true); //=> false
R.and(false, false); //=> false
isEmpty
a → Boolean
Added in v0.1.0
Returns true
if the given value is its type’s empty value; false
otherwise.
See also empty, isNotEmpty.
R.isEmpty([1, 2, 3]); //=> false
R.isEmpty([]); //=> true
R.isEmpty(''); //=> true
R.isEmpty(null); //=> false
R.isEmpty({}); //=> true
R.isEmpty({length: 0}); //=> false
R.isEmpty(Uint8Array.from('')); //=> true
not
* → Boolean
Parameters
- aany value
Returns Boolean the logical inverse of passed argument.
Added in v0.1.0
A function that returns the !
of its argument. It will return true
when passed false-y value, and false
when passed a truth-y one.
See also complement.
R.not(true); //=> false
R.not(false); //=> true
R.not(0); //=> true
R.not(1); //=> false
or
a → b → a | b
Added in v0.1.0
Returns the first argument if it is truthy, otherwise the second argument. Acts as the boolean or
statement if both inputs are Boolean
s.
R.or(true, true); //=> true
R.or(true, false); //=> true
R.or(false, true); //=> true
R.or(false, false); //=> false
cond
[[(*… → Boolean),(*… → *)]] → (*… → *)
Parameters
- pairsA list of [predicate, transformer]
Returns function
Added in v0.6.0
Returns a function, fn
, which encapsulates if/else, if/else, ...
logic. R.cond
takes a list of [predicate, transformer] pairs. All of the arguments to fn
are applied to each of the predicates in turn until one returns a “truthy” value, at which point fn
returns the result of applying its arguments to the corresponding transformer. If none of the predicates matches, fn
returns undefined.
Please note: This is not a direct substitute for a switch
statement. Remember that both elements of every pair passed to cond
are functions, and cond
returns a function.
See also ifElse, unless, when.
const fn = R.cond([
[R.equals(0), R.always('water freezes at 0°C')],
[R.equals(100), R.always('water boils at 100°C')],
[R.T, temp => 'nothing special happens at ' + temp + '°C']
]);
fn(0); //=> 'water freezes at 0°C'
fn(50); //=> 'nothing special happens at 50°C'
fn(100); //=> 'water boils at 100°C'