registerAll method

void registerAll(
  1. Map<String, dynamic> flags
)

Registers multiple feature flags simultaneously from a map.

Values can be boolean (true/false) or strings ("true", "false"). Updates existing flags' values and records the new defaults. Useful for initializing flags from JSON payloads, server-rendered configuration, or remote config endpoints.

features.registerAll({
  'checkout_v2': true,
  'promo_banner': 'true',
  'ai_suggestions': false,
});

Implementation

void registerAll(Map<String, dynamic> flags) {
  flags.forEach((key, val) {
    final boolVal =
        val is bool ? val : val.toString().toLowerCase() == 'true';
    _defaults[key] = boolVal;
    if (_flags.containsKey(key)) {
      _flags[key]!.value = boolVal;
    } else {
      _flags[key] = signal(boolVal);
    }
  });
}