def to_optional_ttl()

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


def to_optional_ttl(ttl: TTLTypes | None) -> TTL | None:
    if ttl is None:
        return None
    elif isinstance(ttl, datetime.timedelta):
        return {
            "seconds": int(ttl.total_seconds()),
            "nanos": int(ttl.microseconds * 1000),
        }
    elif isinstance(ttl, dict):
        return ttl
    elif isinstance(ttl, int):
        return {"seconds": ttl, "nanos": 0}
    else:
        raise TypeError(
            f"Could not convert input to `ttl` \n'" f"  type: {type(ttl)}\n",
            ttl,
        )