handleGetVariantValue method
Implementation
Future<dynamic> handleGetVariantValue(MethodCall call) async {
Map<Object?, Object?> args = call.arguments as Map<Object?, Object?>;
String flagName = args['flagName'] as String;
dynamic fallbackValue = args['fallbackValue'];
JSAny? fallbackJs = safeJsify({
'key': flagName,
'value': fallbackValue,
});
try {
JSPromise promise = flags_get_variant(flagName, fallbackJs);
JSAny? jsResult = await promise.toDart;
Map<String, dynamic> variant = _jsVariantToMap(jsResult, {'key': flagName, 'value': fallbackValue});
return variant['value'] ?? fallbackValue;
} catch (e) {
debugPrint('[Mixpanel] getVariantValue failed with error: $e, returning fallback');
return fallbackValue;
}
}