getStringFlag method
Implementation
@override
Future<FlagEvaluationResult<String>> getStringFlag(
String flagKey,
String defaultValue, {
Map<String, dynamic>? context,
}) async {
final cacheKey = _generateCacheKey(flagKey, context);
final cachedEntry = _getCacheEntry<String>(cacheKey);
if (cachedEntry != null) {
return FlagEvaluationResult(
flagKey: flagKey,
value: cachedEntry.value,
reason: 'CACHED',
evaluatedAt: DateTime.now(),
evaluatorId: name,
);
}
final result = await resolveStringFlag(
flagKey,
defaultValue,
context: context,
);
if (result.errorCode == null) {
_addToCache(cacheKey, result.value);
}
return result;
}