resolveObjectFlag method
Implementation
@override
Future<FlagEvaluationResult<Map<String, dynamic>>> resolveObjectFlag(
String flagKey,
Map<String, dynamic> defaultValue, {
Map<String, dynamic>? context,
}) async {
_checkState();
if (!_flags.containsKey(flagKey)) {
return FlagEvaluationResult.error(
flagKey,
defaultValue,
ErrorCode.FLAG_NOT_FOUND,
'Flag "$flagKey" not found',
evaluatorId: name,
);
}
final value = _flags[flagKey];
if (value is! Map<String, dynamic>) {
return FlagEvaluationResult.error(
flagKey,
defaultValue,
ErrorCode.TYPE_MISMATCH,
'Flag "$flagKey" is not an object, got ${value.runtimeType}',
evaluatorId: name,
);
}
return FlagEvaluationResult(
flagKey: flagKey,
value: value,
reason: 'STATIC',
evaluatedAt: DateTime.now(),
evaluatorId: name,
);
}