$cache<T> function
Implementation
T $cache<T>(T compute(), bool reusable) {
final cached = $value<T?>(() => null);
final isFirstRun = $value(() => true);
final needCompute = (!reusable && !isFirstRun.value) || isFirstRun.value;
$fork(needCompute);
if (needCompute) {
cached.value = compute();
}
$merge();
isFirstRun.value = false;
return cached.value as T;
}