toMillis function

int? toMillis(
  1. dynamic value
)

Converts a dynamic value to an integer representing milliseconds.

  • Accepts int, Duration, String (parsed to DateTime), or DateTime.
  • Returns null if value is null.
  • Throws Exception if conversion fails.

Implementation

int? toMillis(dynamic value) {
  if (value == null) return null;
  if (value is int) return value;
  if (value is Duration) return value.inMilliseconds;

  dynamic valueCopy = value;
  if (valueCopy is String) valueCopy = parseDateTime(valueCopy);
  if (valueCopy is DateTime) return valueCopy.millisecondsSinceEpoch;
  throw Exception('Cannot convert ${value.runtimeType} to int: $value');
}