diff options
Diffstat (limited to 'node_modules/es-abstract/2018/ToUint8.js')
-rw-r--r-- | node_modules/es-abstract/2018/ToUint8.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/node_modules/es-abstract/2018/ToUint8.js b/node_modules/es-abstract/2018/ToUint8.js new file mode 100644 index 000000000..bf8475321 --- /dev/null +++ b/node_modules/es-abstract/2018/ToUint8.js @@ -0,0 +1,22 @@ +'use strict'; + +var GetIntrinsic = require('../GetIntrinsic'); + +var $Math = GetIntrinsic('%Math%'); + +var ToNumber = require('./ToNumber'); + +var $isNaN = require('../helpers/isNaN'); +var $isFinite = require('../helpers/isFinite'); +var $sign = require('../helpers/sign'); +var $mod = require('../helpers/mod'); + +var $floor = $Math.floor; +var $abs = $Math.abs; + +module.exports = function ToUint8(argument) { + var number = ToNumber(argument); + if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; } + var posInt = $sign(number) * $floor($abs(number)); + return $mod(posInt, 0x100); +}; |