getAs<T> method

T? getAs<T>(
  1. String key, {
  2. T? defaultValue,
  3. bool caseSensitive = false,
})

Alias to get returning as T. If not null, it attempts to parse the value into T or throws a StateError.

Implementation

T? getAs<T>(String key, {T? defaultValue, bool caseSensitive = false}) {
  var val =
      get(key, defaultValue: defaultValue, caseSensitive: caseSensitive);
  if (val == null) return null;
  if (val is! T) {
    var val2 = _parseValue<T>(val);
    if (val2 != null) return val2;

    throw StateError("Can't return key `$key` as `$T`: $val");
  }
  return val;
}