From 46e43f4bde4a35785b4997b81e86cd19f046b69b Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 21 Dec 2021 16:52:28 +0100 Subject: Commit --- src/node_modules/es-abstract/2018/ToUint8Clamp.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/node_modules/es-abstract/2018/ToUint8Clamp.js (limited to 'src/node_modules/es-abstract/2018/ToUint8Clamp.js') diff --git a/src/node_modules/es-abstract/2018/ToUint8Clamp.js b/src/node_modules/es-abstract/2018/ToUint8Clamp.js new file mode 100644 index 0000000..95fcc39 --- /dev/null +++ b/src/node_modules/es-abstract/2018/ToUint8Clamp.js @@ -0,0 +1,19 @@ +'use strict'; + +var ToNumber = require('./ToNumber'); +var floor = require('./floor'); + +var $isNaN = require('../helpers/isNaN'); + +// https://www.ecma-international.org/ecma-262/6.0/#sec-touint8clamp + +module.exports = function ToUint8Clamp(argument) { + var number = ToNumber(argument); + if ($isNaN(number) || number <= 0) { return 0; } + if (number >= 0xFF) { return 0xFF; } + var f = floor(argument); + if (f + 0.5 < number) { return f + 1; } + if (number < f + 0.5) { return f; } + if (f % 2 !== 0) { return f + 1; } + return f; +}; -- cgit