source: node_modules/ramda-adjunct/src/isEven.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 899 bytes
Line 
1import { both, complement, curryN } from 'ramda';
2
3import isInteger from './isInteger';
4import isOdd from './isOdd';
5
6/**
7 * Checks if value is even integer number.
8 * An even number is an integer which is "evenly divisible" by two.
9 * Zero is an even number because zero divided by two equals zero,
10 * which despite not being a natural number, is an integer.
11 * Even numbers are either positive or negative.
12 *
13 * @func isEven
14 * @memberOf RA
15 * @since {@link https://char0n.github.io/ramda-adjunct/1.18.0|v1.18.0}
16 * @category Type
17 * @sig * -> Boolean
18 * @param {*} val The value to test
19 * @return {boolean}
20 * @see {@link RA.isOdd|isOdd}
21 * @example
22 *
23 * RA.isEven(0); // => true
24 * RA.isEven(1); // => false
25 * RA.isEven(-Infinity); // => false
26 * RA.isEven(4); // => true
27 * RA.isEven(3); // => false
28 */
29const isEven = curryN(1, both(isInteger, complement(isOdd)));
30
31export default isEven;
Note: See TracBrowser for help on using the repository browser.