configurable/lib/dotenv_configuration_provider.dart

31 lines
696 B
Dart
Raw Normal View History

2021-03-24 13:52:20 +07:00
import 'package:configurable/configuration_provider.dart';
import 'package:configurable/dotenv/dotenv.dart' show env, load;
2021-03-24 13:52:20 +07:00
/// Dotenv Configuration Provider
///
/// @author sombochea
/// @since 1.0.0
2021-03-24 13:52:20 +07:00
class DotenvConfigurationProvider implements ConfigurationProvider {
/// default constructor to load the platform environment
DotenvConfigurationProvider() {
load();
}
2021-03-24 13:52:20 +07:00
@override
bool containsKey(String key) {
return env.containsKey(key);
}
@override
String? getOrNull(String key, {String? defaultValue}) {
var value = env[key];
/// if value is null, then return default value
2021-03-24 13:52:20 +07:00
if (value == null) {
return defaultValue;
}
return value;
}
}