LittleDemon WebShell


Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64
Path : /home/livedhms/lmgt/node_modules/mongoose/lib/cast/
File Upload :
Command :
Current File : /home/livedhms/lmgt/node_modules/mongoose/lib/cast/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);
};

LittleDemon - FACEBOOK
[ KELUAR ]