elementAt<TAggregate> method
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?;
}