evaluate method
Future<bool>
evaluate(
- SetMembershipEligibility eligibility,
- Map<
String, dynamic> context
override
Evaluates the eligibility condition against the context.
Returns true if the condition is satisfied (subject remains eligible).
Returns false if the condition fails (subject is ineligible).
May throw EvaluationException if evaluation cannot complete.
Implementation
@override
Future<bool> evaluate(
SetMembershipEligibility eligibility,
Map<String, dynamic> context,
) async {
final value = context[eligibility.contextKey];
if (value == null) {
Error.throwWithStackTrace(
MalformedMetadataException(
'SetMembership: key="${eligibility.contextKey}" not found in context',
),
StackTrace.current,
);
}
final isEligible = eligibility.allowedValues.contains(value.toString());
return isEligible;
}