gets<T extends Object?> static method

List<T> gets<T extends Object?>({
  1. String? key,
  2. String? path,
  3. String? name,
  4. List<T>? defaultValue,
  5. T? parser(
    1. Object?
    )?,
})

Implementation

static List<T> gets<T extends Object?>({
  String? key,
  String? path,
  String? name,
  List<T>? defaultValue,
  T? Function(Object?)? parser,
}) {
  Object? localed;
  if ((key ?? '').isNotEmpty) {
    localed = i._trs(key!, name: name, defaultValue: defaultValue);
    localed ??= i._t(path);
  } else {
    localed = i._t(path);
  }
  if (localed is! Iterable) return defaultValue ?? [];
  final parsed = localed.map((e) {
    if (e is T) return e;
    if (parser != null) return parser(e);
    return null;
  });
  final filtered = parsed.whereType<T>().toList();
  return filtered;
}