cubetiq_dart_shared/lib/src/text/text_formatter.dart
Sambo Chea 7ec5118598 Task: Add text formatter functions and updated for configurable from the latest
functions with future and async support and add tests and examples
2021-06-01 23:03:54 +07:00

56 lines
946 B
Dart

/// Text Formatter
///
/// @author sombochea
/// @since 1.0.0
class TextFormatter {
String? text;
TextFormatter(String? text) {
this.text = text;
}
String? format(List<dynamic> args) {
if (text == null) {
return null;
}
if (args.isEmpty) {
return text;
}
var msg = text;
args.asMap().forEach((index, element) {
var _replaced = '';
if (element != null) {
_replaced = element.toString();
}
msg = msg?.replaceAll('{$index}', _replaced);
});
return msg;
}
String? decorate(Map<String, dynamic> params) {
if (text == null) {
return null;
}
if (params.isEmpty) {
return text;
}
var msg = text;
params.forEach((index, element) {
var _replaced = '';
if (element != null) {
_replaced = element.toString();
}
msg = msg?.replaceAll('{$index}', _replaced);
});
return msg;
}
}