diff options
Diffstat (limited to 'node_modules/es-abstract/2019/IsInteger.js')
-rw-r--r-- | node_modules/es-abstract/2019/IsInteger.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/node_modules/es-abstract/2019/IsInteger.js b/node_modules/es-abstract/2019/IsInteger.js new file mode 100644 index 000000000..0f488b39a --- /dev/null +++ b/node_modules/es-abstract/2019/IsInteger.js @@ -0,0 +1,21 @@ +'use strict'; + +var GetIntrinsic = require('../GetIntrinsic'); + +var $Math = GetIntrinsic('%Math%'); + +var $floor = $Math.floor; +var $abs = $Math.abs; + +var $isNaN = require('../helpers/isNaN'); +var $isFinite = require('../helpers/isFinite'); + +// https://www.ecma-international.org/ecma-262/6.0/#sec-isinteger + +module.exports = function IsInteger(argument) { + if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { + return false; + } + var abs = $abs(argument); + return $floor(abs) === abs; +}; |