apskel-pos-flutter-v2/lib/common/extension/string_extension.dart
2025-10-31 14:33:02 +07:00

51 lines
1.1 KiB
Dart

part of 'extension.dart';
extension StringX on String {
String toTitleCase() {
if (isEmpty) return '';
return split(' ')
.map((word) {
if (word.isEmpty) return '';
return word[0].toUpperCase() + word.substring(1).toLowerCase();
})
.join(' ');
}
int get toIntegerFromText {
final cleanedText = replaceAll(RegExp(r'[^0-9]'), '');
final parsedValue = int.tryParse(cleanedText) ?? 0;
return parsedValue;
}
String get currencyFormatRpV2 {
final parsedValue = int.tryParse(this) ?? 0;
return NumberFormat.currency(
locale: 'id',
symbol: 'Rp ',
decimalDigits: 0,
).format(parsedValue);
}
TableStatusType toTableStatusType() {
switch (this) {
case 'available':
return TableStatusType.available;
case 'occupied':
return TableStatusType.occupied;
default:
return TableStatusType.unknown;
}
}
VoidType toVoidType() {
switch (this) {
case 'all':
return VoidType.all;
case 'item':
return VoidType.item;
default:
return VoidType.unknown;
}
}
}