getBooleanWithDegradation method

Future<bool> getBooleanWithDegradation(
  1. String key,
  2. bool defaultValue, {
  3. FallbackStrategy? strategy,
})

Evaluate a boolean flag with full graceful degradation

This method provides the most robust flag evaluation with comprehensive fallback strategies. Use for critical flags where reliability is paramount.

Parameters

  • key: The feature flag key
  • defaultValue: Default value if flag evaluation fails
  • strategy: Optional fallback strategy override

Fallback Strategies

  • FallbackStrategy.useDefault: Use default immediately on failure
  • FallbackStrategy.useCachedOrDefault: Try cache first, then default
  • FallbackStrategy.waitWithTimeout: Wait with timeout, then cache, then default
  • FallbackStrategy.useLastKnownGood: Use last known good value if available

Example

// Critical feature with timeout strategy
final isEnabled = await client.getBooleanWithDegradation(
  'critical_feature',
  false,
  strategy: FallbackStrategy.waitWithTimeout,
);

if (isEnabled) {
  // Enable critical feature
}

Implementation

Future<bool> getBooleanWithDegradation(
  String key,
  bool defaultValue, {
  FallbackStrategy? strategy,
}) async {
  return await _featureFlagsComponent.getBooleanWithDegradation(
    key,
    defaultValue,
    strategy: strategy,
  );
}