FeatureFlags class

Type-safe feature flag definitions

This class provides a type-safe way to define and access feature flags.

Usage

// Create a flag provider
final provider = MyFlagProvider();

// Create feature flags
final flags = FeatureFlags(provider);

// Define flags
final enableNewUI = flags.boolean(
  key: 'enable_new_ui',
  defaultValue: false,
);

// Use flags
if (enableNewUI.value) {
  // Show new UI
}

Constructors

FeatureFlags.new(FlagProvider _provider)

Properties

hashCode int
The hash code for this object.
no setterinherited
provider FlagProvider
Public getter for the provider
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

boolean({required String key, required bool defaultValue, String? description, Set<String>? tags}) BooleanFlag
Create a boolean flag
dispose() → void
Clean up resources (call when disposing)
enumFlag<T extends Enum>({required String key, required T defaultValue, required List<T> values, String? description, Set<String>? tags}) EnumFlag<T>
Create an enum flag
json<T>({required String key, required T defaultValue, T parser(Map<String, dynamic>)?, Map<String, dynamic> serializer(T)?, String? description, Set<String>? tags}) JsonFlag<T>
Create a JSON flag
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
number({required String key, required double defaultValue, double? min, double? max, String? description, Set<String>? tags}) NumberFlag
Create a number flag
string({required String key, required String defaultValue, String? description, Set<String>? tags, List<String>? allowedValues}) StringFlag
Create a string flag
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited