Uname: Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Software: LiteSpeed
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 3.129.67.120
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : int32.js
'use strict';

const isBsonType = require('../helpers/isBsonType');
const assert = require('assert');

/**
 * Given a value, cast it to a Int32, or throw an `Error` if the value
 * cannot be casted. `null` and `undefined` are considered valid.
 *
 * @param {Any} value
 * @return {Number}
 * @throws {Error} if `value` does not represent an integer, or is outside the bounds of an 32-bit integer.
 * @api private
 */

module.exports = function castInt32(val) {
  if (val == null) {
    return val;
  }
  if (val === '') {
    return null;
  }

  const coercedVal = isBsonType(val, 'Long') ? val.toNumber() : Number(val);

  const INT32_MAX = 0x7FFFFFFF;
  const INT32_MIN = -0x80000000;

  if (coercedVal === (coercedVal | 0) &&
      coercedVal >= INT32_MIN &&
      coercedVal <= INT32_MAX
  ) {
    return coercedVal;
  }
  assert.ok(false);
};
© 2025 GrazzMean-Shell