cast method

  1. @override
Value? cast(
  1. ValueType newType
)
override

Implementation

@override
Value? cast(ValueType newType) {
  if (newType == valueType) {
    return this;
  }
  if (newType == ValueType.Int) {
    var parsedInt = int.tryParse(value);
    if (parsedInt != null) {
      return IntValue(parsedInt);
    } else {
      return null;
    }
  }
  if (newType == ValueType.Float) {
    var parsedFloat = double.tryParse(value);
    if (parsedFloat != null) {
      return FloatValue(parsedFloat);
    } else {
      return null;
    }
  }
  throw badCaseException(newType);
}