Ramda Adjunct 4.0.0

isFloat.js

  1. import { complement, both } from 'ramda';
  2. import isInteger from './isInteger';
  3. import isFinite from './isFinite';
  4. /**
  5. * Checks whether the passed value is a `float`.
  6. *
  7. * @func isFloat
  8. * @memberOf RA
  9. * @since {@link https://char0n.github.io/ramda-adjunct/1.14.0|v1.14.0}
  10. * @category Type
  11. * @sig * -> Boolean
  12. * @param {*} val The value to test
  13. * @return {boolean}
  14. * @see {@link RA.isNotFloat|isNotFloat}
  15. * @example
  16. *
  17. * RA.isFloat(0); //=> false
  18. * RA.isFloat(1); //=> false
  19. * RA.isFloat(-100000); //=> false
  20. *
  21. * RA.isFloat(0.1); //=> true
  22. * RA.isFloat(Math.PI); //=> true
  23. *
  24. * RA.isFloat(NaN); //=> false
  25. * RA.isFloat(Infinity); //=> false
  26. * RA.isFloat(-Infinity); //=> false
  27. * RA.isFloat('10'); //=> false
  28. * RA.isFloat(true); //=> false
  29. * RA.isFloat(false); //=> false
  30. * RA.isFloat([1]); //=> false
  31. */
  32. const isFloat = both(isFinite, complement(isInteger));
  33. export default isFloat;