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