getArg<T> static method

T? getArg<T>(
  1. dynamic value, {
  2. dynamic key,
  3. bool predicate(
    1. dynamic
    )?,
  4. T? defaultValue,
})

Tries to return item of given key or Type. If none found, then defaultValue is returned. Currently supports Parse.getArgFromMap, Parse.getArgFromList and Parse.getArgFromString

Implementation

static T? getArg<T>(dynamic value,
    {dynamic key, bool Function(dynamic)? predicate, T? defaultValue}) {
  if (value is T && T != dynamic) {
    return value;
  }

  if (value is ControlArgs) {
    return value.get<T>(key: key, defaultValue: defaultValue);
  }

  if (value is Map) {
    return getArgFromMap<T>(value,
        key: key, predicate: predicate, defaultValue: defaultValue);
  }

  if (value is Iterable) {
    return getArgFromList<T>(value,
        predicate: predicate, defaultValue: defaultValue);
  }

  if (value is String) {
    return getArgFromString<T>(value,
        key: key, predicate: predicate, defaultValue: defaultValue);
  }

  return defaultValue;
}