12345678910111213141516171819 |
- 'use strict';
- var modulo = require('./modulo');
- var ToNumber = require('./ToNumber');
- var truncate = require('./truncate');
- var isFinite = require('../helpers/isFinite');
- // https://262.ecma-international.org/14.0/#sec-toint8
- module.exports = function ToInt8(argument) {
- var number = ToNumber(argument);
- if (!isFinite(number) || number === 0) {
- return 0;
- }
- var int = truncate(number);
- var int8bit = modulo(int, 0x100);
- return int8bit >= 0x80 ? int8bit - 0x100 : int8bit;
- };
|