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,
)