valueToDynamicNumber static method

DynamicNumber<DynamicNumber> valueToDynamicNumber(
  1. Object? value, {
  2. DynamicNumber<DynamicNumber>? def,
})

Implementation

static DynamicNumber valueToDynamicNumber(Object? value,
    {DynamicNumber? def}) {
  if (value is DynamicNumber) {
    return value;
  } else if (value is double) {
    return Decimal.fromDouble(value);
  } else if (value is int) {
    return DynamicInt.fromInt(value);
  } else if (value is DateTime) {
    return DynamicInt.fromInt(value.millisecondsSinceEpoch);
  }

  DynamicNumber? n =
      value == null ? def : (Decimal.from(value.toString().trim()) ?? def);

  if (n == null) {
    throw ArgumentError(
        "Can't convert `${value.runtimeTypeNameUnsafe}` to `DynamicNumber`: $value");
  }

  return n;
}