es-toolkit
Version:
A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.
25 lines (24 loc) • 850 B
JavaScript
//#region src/compat/predicate/isSafeInteger.ts
/**
* Checks if `value` is a safe integer (between -(2^53 – 1) and (2^53 – 1), inclusive).
*
* A safe integer is an integer that can be precisely represented as a `number` in JavaScript,
* without any other integer being rounded to it.
*
* This function also serves as a type predicate in TypeScript,
* narrowing the type of the argument to `number`.
*
* @param value - The value to check
* @returns `true` if `value` is an integer and between the safe values, otherwise `false`
*
* @example
* isSafeInteger(3); // Returns: true
* isSafeInteger(Number.MIN_SAFE_INTEGER - 1); // Returns: false
* isSafeInteger(1n); // Returns: false
* isSafeInteger('1'); // Returns: false
*/
function isSafeInteger(value) {
return Number.isSafeInteger(value);
}
//#endregion
exports.isSafeInteger = isSafeInteger;