2025-04-02 19:11:36 +05:30

85 lines
1.7 KiB
Dart

import 'dart:ui';
import 'package:maxdash/helpers/services/localizations/translator.dart';
extension StringUtil on String {
Color get toColor {
String data = replaceAll("#", "");
if (data.length == 6) {
data = "FF$data";
}
return Color(int.parse("0x$data"));
}
String maxLength(int length) {
if (length > length) {
return this;
} else {
return substring(0, length);
}
}
String toParagraph([bool addDash = false]) {
return addDash ? "-\t${this}" : "\t${this}";
}
bool toBool([bool defaultValue = false]) {
if (toString().compareTo('1') == 0 || toString().compareTo('true') == 0) {
return true;
} else if (toString().compareTo('0') == 0 ||
toString().compareTo('false') == 0) {
return false;
}
return defaultValue;
}
int? toInt([int? defaultValue]) {
try {
return int.parse(this);
} catch (e) {
return defaultValue;
}
}
double toDouble([double defaultValue = 0]) {
try {
return double.parse(this);
} catch (e) {
return defaultValue;
}
}
String get capitalizeWords {
var result = this[0].toUpperCase();
for (int i = 1; i < length; i++) {
if (this[i - 1] == " ") {
result = result + this[i].toUpperCase();
} else {
result = result + this[i];
}
}
return result;
}
String? get nullIfEmpty {
return isEmpty ? null : this;
}
}
extension NullableStringUtil on String? {
String get toStringOrEmpty {
if (this != null) {
return toString();
} else {
return '';
}
}
}
//------ App Localization Extension --------------------------//
extension StringLocalization on String {
String tr() {
return Translator.translate(this);
}
}