Tuple of the function's parameter types.
The resolved return type.
The cache key type.
A CachedFunction with an additional .clearCache() method.
Rejections are not cached. To cache negative results, resolve with Result<T, E> or null.
Default keys use JSON serialization, not object identity or deep equality: property
order can distinguish equivalent objects, while undefined, functions, symbols,
and nonfinite numbers can collide with omitted properties or null. Cycles and
bigint values can throw during key generation. Supply a custom key generator
when these distinctions matter; its keys use Map equality.
Fulfilled entries remain until cleared. Clearing does not cancel in-flight calls,
and an older rejection cannot evict a newer entry created after clearing.
Creates a memoized async function that deduplicates in-flight requests and caches results.
Subsequent calls with the same cache key receive the original promise (request coalescing). If the promise rejects, the entry is evicted so the next call can retry.