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

@@ -16,3 +16,10 @@
- Split tests file - Split tests file
- Fixed and nullable functions - 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 # 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] Allow to get property from env file
- [x] Cache property for runtime - [x] Cache property for runtime
- [x] Dotenv file support (use DotenvConfigurationProvider) - [x] Dotenv file support (use DotenvConfigurationProvider)
@@ -7,6 +9,9 @@
- [x] Support nullsafety (dart 2.12.2+) - [x] Support nullsafety (dart 2.12.2+)
- [x] Custom configuration provider - [x] Custom configuration provider
# Issue
- Flutter app not support for dotenv (.env) when run on devices
# Example # Example
```dart ```dart

View File

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

View File

@@ -1,6 +1,6 @@
name: configurable name: configurable
description: System Configuration and Dotenv Environment for Dart and Flutter 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 homepage: https://github.com/CUBETIQ/system-config-dart
repository: https://github.com/CUBETIQ/system-config-dart.git 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/simple_configuration_provider.dart';
import 'package:configurable/system_config.dart'; import 'package:configurable/system_config.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';