getBooleanFlag method
Cached evaluation implementations
Implementation
@override
Future<FlagEvaluationResult<bool>> getBooleanFlag(
  String flagKey,
  bool defaultValue, {
  Map<String, dynamic>? context,
}) async {
  final cacheKey = _generateCacheKey(flagKey, context);
  final cachedEntry = _getCacheEntry<bool>(cacheKey);
  if (cachedEntry != null) {
    return FlagEvaluationResult(
      flagKey: flagKey,
      value: cachedEntry.value,
      reason: 'CACHED',
      evaluatedAt: DateTime.now(),
      evaluatorId: name,
    );
  }
  final result = await resolveBooleanFlag(
    flagKey,
    defaultValue,
    context: context,
  );
  // Cache successful evaluations
  if (result.errorCode == null) {
    _addToCache(cacheKey, result.value);
  }
  return result;
}