Compare commits

4 Commits

Author SHA1 Message Date
1be7ecaa33 - Fixed simple provider for final configs variable
- Fixed setAll function that set itself, in simple provider
2021-03-25 13:35:22 +07:00
1d41d08666 Add flutter issue 2021-03-24 21:20:06 +07:00
Sambo Chea
361bdc2f49 Update README.md 2021-03-24 17:20:28 +07:00
05f41dac54 Fixed classes format 2021-03-24 17:16:12 +07:00
7 changed files with 27 additions and 14 deletions

View File

@@ -15,4 +15,11 @@
- Add mutable configuration provider
- Split tests file
- Fixed and nullable functions
- Able to set or remove config from system config
- Able to set or remove config from system config
## 1.0.4
- Fixed format classes and files
## 1.0.5
- Fixed simple provider for final configs variable
- Fixed setAll function that set itself, in simple provider

View File

@@ -1,5 +1,7 @@
# Dart Configurable Environment
[![Pub](https://img.shields.io/pub/v/configurable.svg)](https://pub.dartlang.org/packages/configurable)
- [x] Allow to get property from env file
- [x] Cache property for runtime
- [x] Dotenv file support (use DotenvConfigurationProvider)
@@ -7,6 +9,9 @@
- [x] Support nullsafety (dart 2.12.2+)
- [x] Custom configuration provider
# Issue
- Flutter app not support for dotenv (.env) when run on devices
# Example
```dart

View File

@@ -16,4 +16,4 @@ abstract class MutableConfigurationProvider implements ConfigurationProvider {
/// Allow to remove all values from config values
void removeAll();
}
}

View File

@@ -5,15 +5,15 @@ import 'package:configurable/mutable_configurable_provider.dart';
/// @author sombochea
/// @since 1.0.0
class SimpleConfigurationProvider implements MutableConfigurationProvider {
Map<String, String?> configs = {};
final Map<String, String?> _configs = {};
@override
String? getOrNull(String key, {String? defaultValue}) {
var value = configs[key];
var value = _configs[key];
/// if value is null, then set the default value and return it back
if (value == null) {
configs[key] = defaultValue;
_configs[key] = defaultValue;
return defaultValue;
}
@@ -22,26 +22,26 @@ class SimpleConfigurationProvider implements MutableConfigurationProvider {
@override
bool containsKey(String key) {
return configs.containsKey(key);
return _configs.containsKey(key);
}
@override
void set(String key, String? value) {
configs[key] = value;
_configs[key] = value;
}
@override
void remove(String key) {
configs.remove(key);
_configs.remove(key);
}
@override
void removeAll() {
configs.clear();
_configs.clear();
}
@override
void setAll(Map<String, String?> configs) {
configs.addAll(configs);
_configs.addAll(configs);
}
}

View File

@@ -1,6 +1,6 @@
name: configurable
description: System Configuration and Dotenv Environment for Dart and Flutter
version: 1.0.3
version: 1.0.5
homepage: https://github.com/CUBETIQ/system-config-dart
repository: https://github.com/CUBETIQ/system-config-dart.git

View File

@@ -1,4 +1,5 @@
import 'package:configurable/configurable.dart' show getConfigOrNull, hasConfigkey;
import 'package:configurable/configurable.dart'
show getConfigOrNull, hasConfigkey;
import 'package:configurable/simple_configuration_provider.dart';
import 'package:configurable/system_config.dart';
import 'package:test/test.dart';
@@ -7,7 +8,7 @@ void main() {
test('get system config by key', () {
var key = 'app.name';
var value = 'CUBETIQ';
// set simple provider
SystemConfig.setProvider(SimpleConfigurationProvider());

View File

@@ -4,7 +4,7 @@ import 'package:test/test.dart';
void main() {
test('just call env', () {
load();
var result = env['app.title'];
expect('CUBETIQ Solution', equals(result));