decodeDateFormat static method
Decodes an HWDateFormat, or null when obj is absent.
Implementation
static HWDateFormat? decodeDateFormat(DartObject? obj) {
if (obj == null || obj.isNull) return null;
final typeName = obj.type?.element?.name;
switch (typeName) {
case 'HWSkeletonDateFormat':
return HWDateFormat.skeleton(
getField(obj, 'skeleton')?.toStringValue() ?? '',
);
case 'HWPatternDateFormat':
return HWDateFormat.pattern(
getField(obj, 'pattern')?.toStringValue() ?? '',
);
case 'HWStyledDateFormat':
return HWDateFormat.styled(
date: decodeEnum(getField(obj, 'date'), HWFormatStyle.values),
time: decodeEnum(getField(obj, 'time'), HWFormatStyle.values),
);
}
throw GeneratorError('Unknown date format type: $typeName');
}