davianspace_configuration library

A flexible, hierarchical configuration system for Dart and Flutter.

Equivalent in capability to Microsoft.Extensions.Configuration, adapted idiomatically for Dart.

Quick start

import 'package:davianspace_configuration/davianspace_configuration.dart';

void main() {
  final config = ConfigurationBuilder()
      .addInMemory({'app:name': 'Orders', 'database:host': 'localhost'})
      .addEnvironmentVariables(prefix: 'APP_')
      .build();

  print(config['app:name']);           // Orders
  print(config['database:host']);      // localhost (or env override)

  final db = config.getSection('database');
  print(db['host']);                   // localhost
}

For mutable runtime configuration use ConfigurationManager instead of ConfigurationBuilder.

Classes

ChangeNotifier
Manages a rotating series of ReloadTokens.
ChangeToken
A token that signals when a watched resource has changed.
Configuration
The top-level configuration API.
ConfigurationBuilder
Assembles a ConfigurationRoot from one or more ConfigurationSources.
ConfigurationManager
A configuration that is both a builder and a live Configuration.
ConfigurationPath
Provides static utilities for working with hierarchical configuration keys.
ConfigurationProvider
Base class for all configuration data providers.
ConfigurationRoot
The merged view of all registered ConfigurationProviders.
ConfigurationSection
A named subtree within a Configuration hierarchy.
ConfigurationSource
A factory that produces a ConfigurationProvider.
EnvironmentConfigurationProvider
A ConfigurationProvider that loads from system environment variables.
EnvironmentConfigurationSource
A ConfigurationSource that produces an EnvironmentConfigurationProvider.
JsonFileConfigurationProvider
A ConfigurationProvider that reads configuration from a JSON file.
JsonFileConfigurationSource
A ConfigurationSource that produces a JsonFileConfigurationProvider.
JsonStringConfigurationProvider
A ConfigurationProvider that parses a JSON string.
JsonStringConfigurationSource
A ConfigurationSource that produces a JsonStringConfigurationProvider.
KeyNormalizer
Utilities for normalizing configuration keys.
MapConfigurationProvider
A ConfigurationProvider that loads configuration from a nested Map<String, dynamic>.
MapConfigurationSource
A ConfigurationSource that produces a MapConfigurationProvider.
MemoryConfigurationProvider
A ConfigurationProvider backed by an in-memory Map<String, String?>.
MemoryConfigurationSource
A ConfigurationSource that produces a MemoryConfigurationProvider.
NeverChangeToken
A ChangeToken that never changes.
ReloadToken
A manually-triggered, single-use change token.
TokenRegistration
A handle to a callback registered with a ChangeToken.

Constants

configurationPathSeparator → const String
The separator character used between path segments in a configuration key.