getArgFromString<T> static method

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

Converts input value to json, then tries to return object of given key, Type or predicate. If none found, then defaultValue is returned.

Implementation

static T? getArgFromString<T>(String? value,
    {dynamic key, bool Function(dynamic)? predicate, T? defaultValue}) {
  if (value == null || value.isEmpty) {
    return defaultValue;
  }

  final json = jsonDecode(value);

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

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

  return defaultValue;
}