fromTimeoutString function
Convert timeout
from grpc-timeout header string format to Duration.
Returns null
if timeout
is not correctly formatted.
Implementation
Duration? fromTimeoutString(String? timeout) {
if (timeout == null) return null;
if (timeout.length < 2) return null;
final value = int.tryParse(timeout.substring(0, timeout.length - 1));
if (value == null) return null;
switch (timeout[timeout.length - 1]) {
case 'n':
return Duration(microseconds: value * 1000);
case 'u':
return Duration(microseconds: value);
case 'm':
return Duration(milliseconds: value);
case 'S':
return Duration(seconds: value);
case 'M':
return Duration(minutes: value);
case 'H':
return Duration(hours: value);
default:
return null;
}
}