import { both, lte, flip, curryN } from 'ramda'; import isNumber from './isNumber'; /** * Checks if value is a non-positive `Number` primitive or object. This includes all negative * numbers and zero. * * @func isNonPositive * @memberOf RA * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0} * @category Type * @sig * -> Boolean * @param {*} val The value to test * @return {boolean} * @see {@link RA.isNegative|isNegative}, {@link RA.isNonNegative|isNonNegative} * @example * * RA.isNonPositive(0); // => true * RA.isNonPositive(-1); // => true * RA.isNonPositive(-Infinity); // => true * RA.isNonPositive(Number.MIN_VALUE); // => true * * RA.isNonPositive(Infinity); // => false * RA.isNonPositive(Number.MAX_VALUE); // => false * RA.isNonPositive(NaN); // => false */ const isNonPositive = curryN(1, both(isNumber, flip(lte)(0))); export default isNonPositive;