Configs class

A configuration manager that supports

  • platform-specific values (Android, iOS, Web, etc.)
  • environment-based overrides (test, live)
  • remote synchronization and reactive updates.

Example:

await Configs.init(environment: EnvironmentType.test);

final apiUrl = Configs.get<String>("api/url");

ConfigBuilder<String>(
  id: "theme_color",
  builder: (context, color) => Text("Color: $color"),
);
Inheritance

Properties

connected bool
Check if remote is connected
no setterinherited
delegate ConfigsDelegate?
Get current delegate
no setterinherited
environment EnvironmentType
Returns the currently active environment type.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
loading bool
Whether currently loading
no setterinherited
name String
Get current remote name
no setterinherited
paths Set<String>
Get registered paths
no setterinherited
platform PlatformType
Returns the detected or manually set PlatformType.
getter/setter pair
props Map
Get merged properties
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showLogs bool
Check if logging is enabled
no setterinherited

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
cancelSubscriptions() Future<void>
Cancel all active subscriptions
inherited
changeConnection(bool value) Future<void>
Change connection status and reload data if necessary
inherited
dispose() → void
Discards any resources used by the object.
inherited
initialize({required String name, ConfigsDelegate? delegate, Set<String>? paths, Set<String>? symmetricPaths, bool connected = false, bool lazy = false, bool logThrowEnabled = kDebugMode, bool listening = true, bool showLogs = true, VoidCallback? onReady}) Future<void>
Initialize remote with optional delegate, paths, and callbacks
inherited
log(Object? msg) → void
Log message if logging is enabled
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
reload({bool showLoading = false, bool notifiable = true}) Future<void>
Reload all paths, optionally showing loading indicator
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
resubscribes() Future<void>
Re-subscribe to all paths
inherited
toString() String
A string representation of this object.
inherited

Operators

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

Static Properties

i Configs
The singleton instance of Configs.
no setter

Static Methods

get<T extends Object?>(String key, {String? path, T? defaultValue, EnvironmentType? environment, PlatformType? platform, T? parser(Object?)?, T? modifier(T)?}) → T
Retrieves a configuration value by key.
getByName<T extends Object?>(String name, {T? defaultValue, EnvironmentType? environment, PlatformType? platform, T? parser(Object?)?, T? modifier(T)?}) → T?
Loads an entire section of data and applies an optional parser.
getOrNull<T extends Object?>(String key, {String? path, T? defaultValue, EnvironmentType? environment, PlatformType? platform, T? parser(Object?)?, T? modifier(T)?}) → T?
Retrieves a configuration value safely (nullable).
gets<T extends Object?>(String key, {String? path, List<T>? defaultValue, EnvironmentType? environment, PlatformType? platform, T? parser(Object?)?, T? modifier(T)?}) List<T>
Retrieves a list of configuration values by key.
getsOrNull<T extends Object?>(String key, {String? path, List<T>? defaultValue, EnvironmentType? environment, PlatformType? platform, T? parser(Object?)?, T? modifier(T)?}) List<T>?
Retrieves a nullable list of configuration values.
init({String? name, ConfigsDelegate? delegate, Set<String>? paths, Set<String>? symmetricPaths, bool connected = false, bool lazy = false, bool logThrowEnabled = kDebugMode, bool listening = true, bool showLogs = true, VoidCallback? onReady, String defaultPath = kDefaultConfigPath, PlatformType platform = PlatformType.system, EnvironmentType environment = EnvironmentType.system}) Future<void>
Initializes the configuration system.