git-touch-android-ios-app/lib/utils/extensions.dart

27 lines
728 B
Dart
Raw Normal View History

2020-01-31 07:31:24 +01:00
import 'dart:convert';
2022-10-03 12:21:22 +02:00
2020-01-31 07:54:46 +01:00
import 'package:path/path.dart' as p;
2019-12-12 14:06:12 +01:00
2020-01-31 07:31:24 +01:00
extension MyString<T extends String> on String {
int get toInt => int.parse(this);
String get urlencode => Uri.encodeComponent(this);
String get urldecode => Uri.decodeComponent(this);
2022-09-06 18:28:12 +02:00
String get dropLineBreak => replaceAll('\n', '');
2020-01-31 07:31:24 +01:00
String get base64ToUtf8 => utf8.decode(base64.decode(this));
2020-01-31 07:54:46 +01:00
/// Get extension by file name/path, returns `null` instead of empty string
///
/// 1.dart -> 'dart'
///
/// license -> null
2021-05-16 09:16:35 +02:00
String? get ext {
2020-01-31 07:54:46 +01:00
final dotext = p.extension(this);
if (dotext.isEmpty) return null;
return dotext.substring(1);
}
String get normalizedHtml {
2022-09-06 18:28:12 +02:00
return '<div class="markdown-body">${this}</div>';
}
2019-12-12 14:06:12 +01:00
}