beforeDeserialize method

  1. @override
Object? beforeDeserialize(
  1. Object? object,
  2. FullType specifiedType
)
override

Implementation

@override
Object? beforeDeserialize(Object? object, FullType specifiedType) {
  if (specifiedType.root != num && specifiedType.root != int && specifiedType.root != double) return object;
  if (object is num) {
    return object;
  } else if (object is String) {
    if (specifiedType.root == double) {
      return double.parse(object);
    } else if (specifiedType.root == int) {
      return int.parse(object);
    } else {
      return num.parse(object);
    }
  } else if (object is double) {
    if (specifiedType.root == double) {
      return object;
    } else if (specifiedType.root == int) {
      return object.toDouble();
    } else {
      return object.toDouble();
    }
  } else if (object is int) {
    if (specifiedType.root == double) {
      return object.toInt();
    } else if (specifiedType.root == int) {
      return object;
    } else {
      return object.toInt();
    }
  }
  return object;
}