toMillis function
Converts a dynamic value to an integer representing milliseconds.
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');
}