def to_optional_expire_time()

in google/generativeai/types/caching_types.py [0:0]


def to_optional_expire_time(expire_time: ExpireTimeTypes | None) -> ExpireTime | None:
    if expire_time is None:
        return expire_time
    elif isinstance(expire_time, datetime.datetime):
        timestamp = expire_time.timestamp()
        seconds = int(timestamp)
        nanos = int((seconds % 1) * 1000)
        return {
            "seconds": seconds,
            "nanos": nanos,
        }
    elif isinstance(expire_time, dict):
        return expire_time
    elif isinstance(expire_time, int):
        return {"seconds": expire_time, "nanos": 0}
    else:
        raise TypeError(
            f"Could not convert input to `expire_time` \n'" f"  type: {type(expire_time)}\n",
            expire_time,
        )