Compare commits

2 Commits

4 changed files with 31 additions and 97 deletions

View File

@@ -27,4 +27,10 @@
## 1.0.6
- Add async function support
- Add functions for set and remove for system config and file functions
- Add TextFormatter for format the string with args
- Add TextFormatter for format the string with args
## 1.0.7
- Removed example "example_flutter_secure_storage_provider.dart"
## 1.0.8
- Fixed Text Formatter on dynamic to string

View File

@@ -1,90 +0,0 @@
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:configurable/mutable_configurable_provider.dart';
class LocalStorageProvider
extends MutableConfigurationProvider {
static FlutterSecureStorage _storage;
FlutterSecureStorage _getStorage() {
if (_storage == null) {
_storage = new FlutterSecureStorage();
}
return _storage;
}
@override
bool containsKey(String key) {
var _hasKey = false;
_getStorage().containsKey(key: key).then((value) => _hasKey = value);
return _hasKey;
}
@override
Future<bool> containsKeyAsync(String key) async {
return await _getStorage().containsKey(key: key);
}
@override
String? getOrNull(String key, {String defaultValue}) {
String _value;
_getStorage().read(key: key).then((value) => {
_value = value
});
if (_value == null && defaultValue != null) {
return defaultValue;
} else {
return _value;
}
}
@override
Future<String?> getOrNullAsync(String key, {String defaultValue}) async {
String _value = await _getStorage().read(key: key);
if (_value == null && defaultValue != null) {
return defaultValue;
} else {
return _value;
}
}
@override
void remove(String key) {
_getStorage().delete(key: key);
}
@override
Future<void> removeAsync(String key) async {
await _getStorage().delete(key: key);
}
@override
void removeAll() {
_getStorage().deleteAll();
}
@override
Future<void> removeAllAsync() async {
await _getStorage().deleteAll();
}
@override
void set(String key, String value) {
_getStorage().write(key: key, value: value);
}
@override
Future<void> setAsync(String key, String value) async {
await _getStorage().write(key: key, value: value);
}
@override
Future<void> setAllAsync(Map<String, String> configs) async {
configs.entries.forEach((element) {
setAsync(element.key, element.value);
});
}
}

View File

@@ -10,22 +10,40 @@ class TextFormatter {
return null;
}
if (args.isEmpty) {
return text;
}
var msg = text;
args.asMap().forEach((index, element) {
msg = msg?.replaceAll('{$index}', element);
var _replaced = '';
if (element != null) {
_replaced = element.toString();
}
msg = msg?.replaceAll('{$index}', _replaced);
});
return msg;
}
String? decorate(Map<String, dynamic> args) {
String? decorate(Map<String, dynamic> params) {
if (text == null) {
return null;
}
if (params.isEmpty) {
return text;
}
var msg = text;
args.forEach((index, element) {
msg = msg?.replaceAll('{$index}', element);
params.forEach((index, element) {
var _replaced = '';
if (element != null) {
_replaced = element.toString();
}
msg = msg?.replaceAll('{$index}', _replaced);
});
return msg;

View File

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