initialize method
Implementation
void initialize(MethodCall call) {
Map<Object?, Object?> args = call.arguments as Map<Object?, Object?>;
String token = args['token'] as String;
dynamic config = args['config'];
Map<String, dynamic> initConfig = Map<String, dynamic>.from(config ?? {});
// Handle feature flags configuration
dynamic featureFlags = args['featureFlags'];
if (featureFlags != null && featureFlags is Map) {
bool enabled = featureFlags['enabled'] == true;
if (enabled) {
final flagsConfig = <String, dynamic>{};
dynamic context = featureFlags['context'];
if (context != null && context is Map && context.isNotEmpty) {
flagsConfig['context'] = context;
}
final persistence =
_flagsPersistenceFromPolicy(featureFlags['variantLookupPolicy']);
if (persistence != null) {
flagsConfig['persistence'] = persistence;
}
initConfig['flags'] = flagsConfig.isEmpty ? true : flagsConfig;
}
}
init(token, safeJsify(initConfig));
}