beforeDeserialize method
Object?
beforeDeserialize(
- Object? object,
- FullType specifiedType
)
override
Implementation
@override
Object? beforeDeserialize(Object? object, FullType specifiedType) {
if (specifiedType.root != DateTime || !applyDecode) return object;
try {
if (object is num) {
return DateTime.fromMicrosecondsSinceEpoch(object as int).microsecondsSinceEpoch;
} else if (object is String) {
return DateTime.parse(object).toUtc().microsecondsSinceEpoch;
} else if (object is DateTime) {
return object.microsecondsSinceEpoch;
}
return object;
} catch (e) {
if (nullOnInvalid) {
return null;
}
rethrow;
}
}