diff options
Diffstat (limited to 'lib/internal')
-rw-r--r-- | lib/internal/async_hooks.js | 5 | ||||
-rw-r--r-- | lib/internal/crypto/random.js | 5 | ||||
-rw-r--r-- | lib/internal/errors.js | 3 | ||||
-rw-r--r-- | lib/internal/fs/promises.js | 3 | ||||
-rw-r--r-- | lib/internal/fs/streams.js | 6 | ||||
-rw-r--r-- | lib/internal/fs/utils.js | 3 | ||||
-rw-r--r-- | lib/internal/process/per_thread.js | 3 | ||||
-rw-r--r-- | lib/internal/readline/utils.js | 7 | ||||
-rw-r--r-- | lib/internal/repl.js | 3 | ||||
-rw-r--r-- | lib/internal/streams/state.js | 3 | ||||
-rw-r--r-- | lib/internal/timers.js | 3 | ||||
-rw-r--r-- | lib/internal/util/inspect.js | 3 | ||||
-rw-r--r-- | lib/internal/validators.js | 15 |
13 files changed, 40 insertions, 22 deletions
diff --git a/lib/internal/async_hooks.js b/lib/internal/async_hooks.js index 441b0bfb03..b17406c782 100644 --- a/lib/internal/async_hooks.js +++ b/lib/internal/async_hooks.js @@ -2,6 +2,7 @@ const { FunctionPrototypeBind, + NumberIsSafeInteger, ObjectDefineProperty, } = primordials; @@ -118,7 +119,7 @@ function validateAsyncId(asyncId, type) { // Skip validation when async_hooks is disabled if (async_hook_fields[kCheck] <= 0) return; - if (!Number.isSafeInteger(asyncId) || asyncId < -1) { + if (!NumberIsSafeInteger(asyncId) || asyncId < -1) { fatalError(new ERR_INVALID_ASYNC_ID(type, asyncId)); } } @@ -299,7 +300,7 @@ function clearDefaultTriggerAsyncId() { function defaultTriggerAsyncIdScope(triggerAsyncId, block, ...args) { if (triggerAsyncId === undefined) return block(...args); - // CHECK(Number.isSafeInteger(triggerAsyncId)) + // CHECK(NumberIsSafeInteger(triggerAsyncId)) // CHECK(triggerAsyncId > 0) const oldDefaultTriggerAsyncId = async_id_fields[kDefaultTriggerAsyncId]; async_id_fields[kDefaultTriggerAsyncId] = triggerAsyncId; diff --git a/lib/internal/crypto/random.js b/lib/internal/crypto/random.js index 425b65e268..85855a709e 100644 --- a/lib/internal/crypto/random.js +++ b/lib/internal/crypto/random.js @@ -2,6 +2,7 @@ const { MathMin, + NumberIsNaN, } = primordials; const { AsyncWrap, Providers } = internalBinding('async_wrap'); @@ -23,7 +24,7 @@ function assertOffset(offset, elementSize, length) { offset *= elementSize; const maxLength = MathMin(length, kMaxPossibleLength); - if (Number.isNaN(offset) || offset > maxLength || offset < 0) { + if (NumberIsNaN(offset) || offset > maxLength || offset < 0) { throw new ERR_OUT_OF_RANGE('offset', `>= 0 && <= ${maxLength}`, offset); } @@ -34,7 +35,7 @@ function assertSize(size, elementSize, offset, length) { validateNumber(size, 'size'); size *= elementSize; - if (Number.isNaN(size) || size > kMaxPossibleLength || size < 0) { + if (NumberIsNaN(size) || size > kMaxPossibleLength || size < 0) { throw new ERR_OUT_OF_RANGE('size', `>= 0 && <= ${kMaxPossibleLength}`, size); } diff --git a/lib/internal/errors.js b/lib/internal/errors.js index 7dd976e299..ee467f31f3 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -13,6 +13,7 @@ const { ArrayIsArray, MathAbs, + NumberIsInteger, ObjectDefineProperty, ObjectKeys, } = primordials; @@ -1108,7 +1109,7 @@ E('ERR_OUT_OF_RANGE', let msg = replaceDefaultBoolean ? str : `The value of "${str}" is out of range.`; let received; - if (Number.isInteger(input) && MathAbs(input) > 2 ** 32) { + if (NumberIsInteger(input) && MathAbs(input) > 2 ** 32) { received = addNumericalSeparator(String(input)); } else if (typeof input === 'bigint') { received = String(input); diff --git a/lib/internal/fs/promises.js b/lib/internal/fs/promises.js index a4ac18ba45..daf18e19d1 100644 --- a/lib/internal/fs/promises.js +++ b/lib/internal/fs/promises.js @@ -3,6 +3,7 @@ const { MathMax, MathMin, + NumberIsSafeInteger, } = primordials; const { @@ -235,7 +236,7 @@ async function read(handle, buffer, offset, length, position) { validateOffsetLengthRead(offset, length, buffer.length); - if (!Number.isSafeInteger(position)) + if (!NumberIsSafeInteger(position)) position = -1; const bytesRead = (await binding.read(handle.fd, buffer, offset, length, diff --git a/lib/internal/fs/streams.js b/lib/internal/fs/streams.js index 6f274d8419..7b17eae338 100644 --- a/lib/internal/fs/streams.js +++ b/lib/internal/fs/streams.js @@ -3,6 +3,8 @@ const { Array, MathMin, + NumberIsInteger, + NumberIsSafeInteger, ObjectDefineProperty, ObjectSetPrototypeOf, } = primordials; @@ -41,9 +43,9 @@ function allocNewPool(poolSize) { // Check the `this.start` and `this.end` of stream. function checkPosition(pos, name) { - if (!Number.isSafeInteger(pos)) { + if (!NumberIsSafeInteger(pos)) { validateNumber(pos, name); - if (!Number.isInteger(pos)) + if (!NumberIsInteger(pos)) throw new ERR_OUT_OF_RANGE(name, 'an integer', pos); throw new ERR_OUT_OF_RANGE(name, '>= 0 and <= 2 ** 53 - 1', pos); } diff --git a/lib/internal/fs/utils.js b/lib/internal/fs/utils.js index f785719265..c1dd1878ee 100644 --- a/lib/internal/fs/utils.js +++ b/lib/internal/fs/utils.js @@ -3,6 +3,7 @@ const { ArrayIsArray, DateNow, + NumberIsFinite, ObjectSetPrototypeOf, ReflectOwnKeys, } = primordials; @@ -486,7 +487,7 @@ function toUnixTimestamp(time, name = 'time') { if (typeof time === 'string' && +time == time) { return +time; } - if (Number.isFinite(time)) { + if (NumberIsFinite(time)) { if (time < 0) { return DateNow() / 1000; } diff --git a/lib/internal/process/per_thread.js b/lib/internal/process/per_thread.js index 7b1cd9eabe..2ead72781d 100644 --- a/lib/internal/process/per_thread.js +++ b/lib/internal/process/per_thread.js @@ -6,6 +6,7 @@ const { ArrayIsArray, + NumberMAX_SAFE_INTEGER, ObjectDefineProperties, ObjectDefineProperty, ObjectFreeze, @@ -102,7 +103,7 @@ function wrapProcessMethods(binding) { // implementation always returns numbers <= Number.MAX_SAFE_INTEGER. function previousValueIsValid(num) { return typeof num === 'number' && - num <= Number.MAX_SAFE_INTEGER && + num <= NumberMAX_SAFE_INTEGER && num >= 0; } diff --git a/lib/internal/readline/utils.js b/lib/internal/readline/utils.js index 27110f8279..510acf2218 100644 --- a/lib/internal/readline/utils.js +++ b/lib/internal/readline/utils.js @@ -2,6 +2,7 @@ const { Boolean, + NumberIsInteger, } = primordials; // Regex used for ansi escape code splitting @@ -38,7 +39,7 @@ if (internalBinding('config').hasIntl) { const icu = internalBinding('icu'); getStringWidth = function getStringWidth(str, options) { options = options || {}; - if (Number.isInteger(str)) { + if (NumberIsInteger(str)) { // Provide information about the character with code point 'str'. return icu.getStringWidth( str, @@ -76,7 +77,7 @@ if (internalBinding('config').hasIntl) { * Returns the number of columns required to display the given string. */ getStringWidth = function getStringWidth(str) { - if (Number.isInteger(str)) + if (NumberIsInteger(str)) return isFullWidthCodePoint(str) ? 2 : 1; let width = 0; @@ -107,7 +108,7 @@ if (internalBinding('config').hasIntl) { isFullWidthCodePoint = function isFullWidthCodePoint(code) { // Code points are derived from: // http://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt - return Number.isInteger(code) && code >= 0x1100 && ( + return NumberIsInteger(code) && code >= 0x1100 && ( code <= 0x115f || // Hangul Jamo code === 0x2329 || // LEFT-POINTING ANGLE BRACKET code === 0x232a || // RIGHT-POINTING ANGLE BRACKET diff --git a/lib/internal/repl.js b/lib/internal/repl.js index a5f5cd25f2..75a68c8ea8 100644 --- a/lib/internal/repl.js +++ b/lib/internal/repl.js @@ -1,6 +1,7 @@ 'use strict'; const { + NumberIsNaN, ObjectCreate, } = primordials; @@ -39,7 +40,7 @@ function createRepl(env, opts, cb) { } const historySize = Number(env.NODE_REPL_HISTORY_SIZE); - if (!Number.isNaN(historySize) && historySize > 0) { + if (!NumberIsNaN(historySize) && historySize > 0) { opts.historySize = historySize; } else { opts.historySize = 1000; diff --git a/lib/internal/streams/state.js b/lib/internal/streams/state.js index aa16a0a6b8..fa902ef429 100644 --- a/lib/internal/streams/state.js +++ b/lib/internal/streams/state.js @@ -2,6 +2,7 @@ const { MathFloor, + NumberIsInteger, } = primordials; const { ERR_INVALID_OPT_VALUE } = require('internal/errors').codes; @@ -18,7 +19,7 @@ function getDefaultHighWaterMark(objectMode) { function getHighWaterMark(state, options, duplexKey, isDuplex) { const hwm = highWaterMarkFrom(options, isDuplex, duplexKey); if (hwm != null) { - if (!Number.isInteger(hwm) || hwm < 0) { + if (!NumberIsInteger(hwm) || hwm < 0) { const name = isDuplex ? duplexKey : 'highWaterMark'; throw new ERR_INVALID_OPT_VALUE(name, hwm); } diff --git a/lib/internal/timers.js b/lib/internal/timers.js index e55e17b537..84b3c34d87 100644 --- a/lib/internal/timers.js +++ b/lib/internal/timers.js @@ -75,6 +75,7 @@ const { MathMax, MathTrunc, + NumberMIN_SAFE_INTEGER, ObjectCreate, } = primordials; @@ -121,7 +122,7 @@ const kHasOutstanding = 2; // Timeout values > TIMEOUT_MAX are set to 1. const TIMEOUT_MAX = 2 ** 31 - 1; -let timerListId = Number.MIN_SAFE_INTEGER; +let timerListId = NumberMIN_SAFE_INTEGER; const kRefed = Symbol('refed'); diff --git a/lib/internal/util/inspect.js b/lib/internal/util/inspect.js index d62727fa57..0491d1e1e8 100644 --- a/lib/internal/util/inspect.js +++ b/lib/internal/util/inspect.js @@ -16,6 +16,7 @@ const { MathMin, MathRound, MathSqrt, + NumberIsNaN, NumberPrototypeValueOf, ObjectAssign, ObjectCreate, @@ -720,7 +721,7 @@ function formatRaw(ctx, value, recurseTimes, typedArray) { return ctx.stylize(base, 'regexp'); } else if (isDate(value)) { // Make dates with properties first say the date - base = Number.isNaN(DatePrototypeGetTime(value)) ? + base = NumberIsNaN(DatePrototypeGetTime(value)) ? DatePrototypeToString(value) : DatePrototypeToISOString(value); const prefix = getPrefix(constructor, tag, 'Date'); diff --git a/lib/internal/validators.js b/lib/internal/validators.js index 7fd4d5180e..079ab3d2f5 100644 --- a/lib/internal/validators.js +++ b/lib/internal/validators.js @@ -1,6 +1,12 @@ 'use strict'; const { + NumberIsInteger, + NumberMAX_SAFE_INTEGER, + NumberMIN_SAFE_INTEGER, +} = primordials; + +const { hideStackFrames, codes: { ERR_INVALID_ARG_TYPE, @@ -14,7 +20,6 @@ const { isArrayBufferView } = require('internal/util/types'); const { signals } = internalBinding('constants').os; -const { MAX_SAFE_INTEGER, MIN_SAFE_INTEGER } = Number; function isInt32(value) { return value === (value | 0); @@ -63,10 +68,10 @@ function parseMode(value, name, def) { } const validateInteger = hideStackFrames( - (value, name, min = MIN_SAFE_INTEGER, max = MAX_SAFE_INTEGER) => { + (value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) => { if (typeof value !== 'number') throw new ERR_INVALID_ARG_TYPE(name, 'number', value); - if (!Number.isInteger(value)) + if (!NumberIsInteger(value)) throw new ERR_OUT_OF_RANGE(name, 'an integer', value); if (value < min || value > max) throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); @@ -80,7 +85,7 @@ const validateInt32 = hideStackFrames( if (typeof value !== 'number') { throw new ERR_INVALID_ARG_TYPE(name, 'number', value); } - if (!Number.isInteger(value)) { + if (!NumberIsInteger(value)) { throw new ERR_OUT_OF_RANGE(name, 'an integer', value); } throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); @@ -96,7 +101,7 @@ const validateUint32 = hideStackFrames((value, name, positive) => { if (typeof value !== 'number') { throw new ERR_INVALID_ARG_TYPE(name, 'number', value); } - if (!Number.isInteger(value)) { + if (!NumberIsInteger(value)) { throw new ERR_OUT_OF_RANGE(name, 'an integer', value); } const min = positive ? 1 : 0; |