"use strict"; exports.__esModule = true; exports["default"] = void 0; var _ramda = require("ramda"); var _isInteger = _interopRequireDefault(require("./isInteger")); var _isOdd = _interopRequireDefault(require("./isOdd")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } /** * Checks if value is even integer number. * An even number is an integer which is "evenly divisible" by two. * Zero is an even number because zero divided by two equals zero, * which despite not being a natural number, is an integer. * Even numbers are either positive or negative. * * @func isEven * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/1.18.0|v1.18.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isOdd|isOdd} * @example * * RA.isEven(0); // => true * RA.isEven(1); // => false * RA.isEven(-Infinity); // => false * RA.isEven(4); // => true * RA.isEven(3); // => false */ var isEven = (0, _ramda.curryN)(1, (0, _ramda.both)(_isInteger["default"], (0, _ramda.complement)(_isOdd["default"]))); var _default = isEven; exports["default"] = _default;