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; } } }