47 lines
1.4 KiB
Dart
47 lines
1.4 KiB
Dart
import 'dart:convert';
|
|
|
|
String toPascal(String raw) {
|
|
return '${raw[0].toUpperCase()}${raw.substring(1).toLowerCase()}';
|
|
}
|
|
|
|
String getDates() {
|
|
return '${getDate()} ${getTime()}';
|
|
}
|
|
|
|
String getDate() {
|
|
var now = DateTime.now();
|
|
return '${now.year.toString().substring(2, 4)}-${now.month.toString().padLeft(2, '0')}-${now.day.toString().padLeft(2, '0')}';
|
|
}
|
|
|
|
String getTime() {
|
|
var now = DateTime.now();
|
|
return '${now.hour.toString().padLeft(2, '0')}:${now.minute.toString().padLeft(2, '0')}:${now.second.toString().padLeft(2, '0')}';
|
|
}
|
|
|
|
String jsonPrettyEncode(Object? object) {
|
|
return JsonEncoder.withIndent(' ').convert(object);
|
|
}
|
|
|
|
String incrementVersion(String version, {int fixedLength = 3, bool reverse = false}) {
|
|
var parts = version.split('.').map(int.parse).toList();
|
|
if (parts.length < fixedLength) {
|
|
var needLength = fixedLength - parts.length;
|
|
for (int i = 0; i < needLength; ++i) {
|
|
if(reverse) { parts.add(0); } else { parts.insert(0, 0); }
|
|
}
|
|
}
|
|
|
|
for (int i = parts.length - 1; i >= 0; i--) {
|
|
if (parts[i] < 999) {
|
|
parts[i] += 1;
|
|
break;
|
|
} else {
|
|
parts[i] = 0;
|
|
}
|
|
}
|
|
|
|
// 만약 가장 왼쪽 자리까지 999였다면, 자릿수가 늘어남 (ex: 999.999 → 1000.0)
|
|
// 요구조건 상 자릿수 증가 없이, 그냥 앞 자리만 +1 하고 뒷자리는 0으로 유지해야 하므로,
|
|
// 맨 앞까지 carry됐을 경우 자릿수는 그대로 유지
|
|
return parts.join('.');
|
|
}
|