def supports_int(value: object) -> bool:  # noqa: E302
    """Check if an int-like object has been passed (:class:`~typing.SupportsInt`).

    Examples
    --------
    .. code:: python

        >>> from nanoutils import supports_int

        >>> supports_int(1.0)
        True

        >>> supports_int(1.5)
        False

        >>> supports_int(1)
        True

        >>> supports_int('1')
        True

        >>> supports_int('not a int')
        False

    Parameters
    ----------
    value : :class:`object`
        The to-be evaluated object.

    Returns
    -------
    :class:`bool`
        Whether or not the passed **value** is int-like or not.

    """
    # floats that can be exactly represented by an integer are also fine
    try:
        int(value)  # type: ignore
        return float(value).is_integer()  # type: ignore
    except Exception:
        return False