import { bind, curryN } from 'ramda'; import isFunction from './isFunction'; import ponyfill from './internal/ponyfills/Number.isInteger'; export const isIntegerPonyfill = curryN(1, ponyfill); /** * Checks whether the passed value is an `integer`. * * @func isInteger * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNotInteger|isNotInteger} * @example * * RA.isInteger(0); //=> true * RA.isInteger(1); //=> true * RA.isInteger(-100000); //=> true * * RA.isInteger(0.1); //=> false * RA.isInteger(Math.PI); //=> false * * RA.isInteger(NaN); //=> false * RA.isInteger(Infinity); //=> false * RA.isInteger(-Infinity); //=> false * RA.isInteger('10'); //=> false * RA.isInteger(true); //=> false * RA.isInteger(false); //=> false * RA.isInteger([1]); //=> false */ const isInteger = isFunction(Number.isInteger) ? curryN(1, bind(Number.isInteger, Number)) : isIntegerPonyfill; export default isInteger;