elementAt<TAggregate> method

TAggregate? elementAt<TAggregate>(
  1. String path, {
  2. TAggregate? defaultValue,
})

Get element with given reference on format '/name1/name2/name3' equivalent to map'name2''name3'.

Returns null if not found

Implementation

TAggregate? elementAt<TAggregate>(String path, {TAggregate? defaultValue}) {
  final parts = path.split('/');
  dynamic found =
      parts.skip(parts.first.isEmpty ? 1 : 0).fold(this, (parent, name) {
    if (parent is Map<String, dynamic>) {
      if (parent.containsKey(name)) {
        return parent[name];
      }
    }
    final element = (parent ?? {});
    return element is Map
        ? element[name]
        : element is List && element.isNotEmpty
            ? element[int.parse(name)]
            : defaultValue;
  });
  return (found ?? defaultValue) as TAggregate?;
}