import { __require as requireToNumber } from "./ToNumber.js";
import { __require as requireTruncate } from "./truncate.js";
import { __require as require_isNaN } from "../../math-intrinsics/isNaN.js";
import { __require as require_isFinite } from "../../math-intrinsics/isFinite.js";
var ToIntegerOrInfinity;
var hasRequiredToIntegerOrInfinity;
function requireToIntegerOrInfinity() {
  if (hasRequiredToIntegerOrInfinity) return ToIntegerOrInfinity;
  hasRequiredToIntegerOrInfinity = 1;
  var ToNumber = requireToNumber();
  var truncate = requireTruncate();
  var $isNaN = require_isNaN();
  var $isFinite = require_isFinite();
  ToIntegerOrInfinity = function ToIntegerOrInfinity2(value) {
    var number = ToNumber(value);
    if ($isNaN(number) || number === 0) {
      return 0;
    }
    if (!$isFinite(number)) {
      return number;
    }
    return truncate(number);
  };
  return ToIntegerOrInfinity;
}
export {
  requireToIntegerOrInfinity as __require
};
