dart_pkpass/lib/pkpass/utils/maybe_decode.dart
The one with the braid a8e912327b chore: apply code style
Signed-off-by: The one with the braid <info@braid.business>
2024-06-15 17:52:40 +02:00

61 lines
1.7 KiB
Dart

import '../models/pass_structure_dictionary.dart';
import 'color_helper.dart';
abstract class MaybeDecode {
const MaybeDecode._();
static int? maybeColor(String? colorCode) {
if (colorCode == null) return null;
return fromCssColor(colorCode);
}
static DateTime? maybeDateTime(String? timeStamp) {
if (timeStamp == null) return null;
return DateTime.tryParse(timeStamp);
}
static PassTextAlign? maybeTextAlign(String? align) {
switch (align) {
case 'PKTextAlignmentLeft':
return PassTextAlign.left;
case 'PKTextAlignmentCenter':
return PassTextAlign.center;
case 'PKTextAlignmentRight':
return PassTextAlign.right;
default:
return PassTextAlign.natural;
}
}
static PassTextDateStyle? maybeDateStyle(String? style) {
switch (style) {
case 'PKDateStyleNone':
return PassTextDateStyle.none;
case 'PKDateStyleShort':
return PassTextDateStyle.short;
case 'PKDateStyleMedium':
return PassTextDateStyle.medium;
case 'PKDateStyleLong':
return PassTextDateStyle.long;
case 'PKDateStyleFull':
return PassTextDateStyle.full;
default:
return null;
}
}
static PassTextNumberStyle? maybeNumberStyle(String? style) {
switch (style) {
case 'PKNumberStyleDecimal':
return PassTextNumberStyle.decimal;
case 'PKNumberStylePercent':
return PassTextNumberStyle.percent;
case 'PKNumberStyleScientific':
return PassTextNumberStyle.scientific;
case 'PKNumberStyleSpellOut':
return PassTextNumberStyle.spellOut;
default:
return null;
}
}
}